Fix #110 - Support DSTU2 Security Labels, merging in Pull Request from Mohammad Jafari - Merge branch 'master' of https://github.com/mochaholic/hapi-fhir into mochaholic-master

Conflicts:
	hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/server/UpdateConditionalTest.java
This commit is contained in:
jamesagnew 2015-02-24 07:49:31 -05:00
commit 3812260a55
191 changed files with 5231 additions and 4804 deletions

View File

@ -37,7 +37,9 @@ public class PlainProvider {
//START SNIPPET: plainProviderServer
public class ExampleServlet extends RestfulServer {
/** Constructor */
/**
* Constructor
*/
public ExampleServlet() {
/*
* Plain providers are passed to the server in the same way
@ -56,21 +58,23 @@ public class ExampleServlet extends RestfulServer {
}
//END SNIPPET: plainProviderServer
//START SNIPPET: addressStrategy
public class MyServlet extends RestfulServer {
//START SNIPPET: addressStrategy
public class MyServlet extends RestfulServer {
/** Constructor */
public MyServlet() {
String serverBaseUrl = "http://foo.com/fhir";
setServerAddressStrategy(new HardcodedServerAddressStrategy(serverBaseUrl));
// ...add some resource providers, etc...
List<IResourceProvider> resourceProviders = new ArrayList<IResourceProvider>();
setResourceProviders(resourceProviders);
}
}
/**
* Constructor
*/
public MyServlet() {
String serverBaseUrl = "http://foo.com/fhir";
setServerAddressStrategy(new HardcodedServerAddressStrategy(serverBaseUrl));
// ...add some resource providers, etc...
List<IResourceProvider> resourceProviders = new ArrayList<IResourceProvider>();
setResourceProviders(resourceProviders);
}
}
//END SNIPPET: addressStrategy

View File

@ -37,7 +37,7 @@ public class PagingPatientProvider implements IResourceProvider {
*/
return new IBundleProvider() {
@Override
@Override
public int size() {
return matchingResourceIds.size();
}

View File

@ -105,7 +105,7 @@ public abstract class BaseRuntimeElementDefinition<T extends IBase> {
return getImplementingClass().newInstance();
} else if (theArgument instanceof IValueSetEnumBinder) {
return getImplementingClass().getConstructor(IValueSetEnumBinder.class).newInstance(theArgument);
}else {
} else {
return getImplementingClass().getConstructor(IBaseEnumFactory.class).newInstance(theArgument);
}
} catch (InstantiationException e) {

View File

@ -28,6 +28,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.text.WordUtils;
import org.hl7.fhir.instance.model.IBase;

View File

@ -30,29 +30,29 @@ import ca.uhn.fhir.model.api.annotation.Description;
public class RuntimeChildEnumerationDatatypeDefinition extends RuntimeChildPrimitiveDatatypeDefinition {
private Class<? extends IBaseEnumFactory<?>> myBinderType;
private volatile IBaseEnumFactory<?> myBinder;
private Class<? extends IBaseEnumFactory<?>> myBinderType;
private volatile IBaseEnumFactory<?> myBinder;
public RuntimeChildEnumerationDatatypeDefinition(Field theField, String theElementName, Child theChildAnnotation, Description theDescriptionAnnotation, Class<? extends IBase> theDatatype, Class<? extends IBaseEnumFactory<?>> theBinderType) {
super(theField, theElementName, theDescriptionAnnotation, theChildAnnotation, theDatatype);
public RuntimeChildEnumerationDatatypeDefinition(Field theField, String theElementName, Child theChildAnnotation, Description theDescriptionAnnotation, Class<? extends IBase> theDatatype, Class<? extends IBaseEnumFactory<?>> theBinderType) {
super(theField, theElementName, theDescriptionAnnotation, theChildAnnotation, theDatatype);
myBinderType = theBinderType;
}
myBinderType = theBinderType;
}
@Override
public IBaseEnumFactory<?> getInstanceConstructorArguments() {
IBaseEnumFactory<?> retVal = myBinder;
if (retVal == null) {
try {
retVal = myBinderType.newInstance();
} catch (InstantiationException e) {
throw new IllegalStateException("Failed to instantiate " + myBinderType, e);
} catch (IllegalAccessException e) {
throw new IllegalStateException("Failed to instantiate " + myBinderType, e);
}
myBinder = retVal;
}
return retVal;
}
@Override
public IBaseEnumFactory<?> getInstanceConstructorArguments() {
IBaseEnumFactory<?> retVal = myBinder;
if (retVal == null) {
try {
retVal = myBinderType.newInstance();
} catch (InstantiationException e) {
throw new IllegalStateException("Failed to instantiate " + myBinderType, e);
} catch (IllegalAccessException e) {
throw new IllegalStateException("Failed to instantiate " + myBinderType, e);
}
myBinder = retVal;
}
return retVal;
}
}

View File

@ -32,7 +32,6 @@ public class RuntimeChildPrimitiveDatatypeDefinition extends BaseRuntimeChildDat
public RuntimeChildPrimitiveDatatypeDefinition(Field theField, String theElementName, Description theDescriptionAnnotation, Child theChildAnnotation, Class<? extends IBase> theDatatype) {
super(theField, theElementName, theChildAnnotation, theDescriptionAnnotation, theDatatype);
}
}

View File

@ -31,7 +31,7 @@ import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.primitive.StringDt;
@DatatypeDef(name="Extension")
@DatatypeDef(name = "Extension")
public class ExtensionDt extends BaseIdentifiableElement implements ICompositeDatatype, IBaseExtension<ExtensionDt> {
private boolean myModifier;
@ -39,7 +39,7 @@ public class ExtensionDt extends BaseIdentifiableElement implements ICompositeDa
@Child(name="url", type=StringDt.class, order=0, min=1, max=1)
private StringDt myUrl;
@Child(name="value", type=IDatatype.class, order=1, min=0, max=1)
@Child(name = "value", type = IDatatype.class, order = 1, min = 0, max = 1)
private IBaseDatatype myValue;
public ExtensionDt() {
@ -66,12 +66,12 @@ public class ExtensionDt extends BaseIdentifiableElement implements ICompositeDa
}
/**
* Returns the URL for this extension.
* Returns the URL for this extension.
* <p>
* Note that before HAPI 0.9 this method returned a {@link StringDt} but as of
* HAPI 0.9 this method returns a plain string. This was changed because it does not make sense to use a StringDt here
* since the URL itself can not contain extensions and it was therefore misleading.
* </p>
* </p>
*/
public String getUrl() {
return myUrl != null ? myUrl.getValue() : null;
@ -79,7 +79,7 @@ public class ExtensionDt extends BaseIdentifiableElement implements ICompositeDa
/**
* Retained for backward compatibility
*
*
* @see ExtensionDt#getUrl()
*/
public String getUrlAsString() {

View File

@ -27,6 +27,7 @@ import org.hl7.fhir.instance.model.IBaseResource;
import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.rest.server.IResourceProvider;
import ca.uhn.fhir.rest.server.IServerConformanceProvider;
import ca.uhn.fhir.rest.server.RestfulServer;
@ -49,4 +50,7 @@ public interface IFhirVersion {
Class<?> getContainedType();
BaseCodingDt newCodingDt();
}

View File

@ -28,6 +28,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import org.apache.commons.lang3.StringUtils;
import ca.uhn.fhir.model.primitive.DecimalDt;
@ -62,6 +63,36 @@ import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
*/
public abstract class ResourceMetadataKeyEnum<T> {
public static final ResourceMetadataKeyEnum<List<BaseCodingDt>> SECURITY_LABELS = new ResourceMetadataKeyEnum<List<BaseCodingDt>>("SECURITY_LABELS") {
@Override
public List<BaseCodingDt> get(IResource resource) {
Object obj = resource.getResourceMetadata().get(SECURITY_LABELS);
if (obj == null) {
return null;
} else {
try {
List<BaseCodingDt> securityLabels = (List<BaseCodingDt>) obj;
if (securityLabels.isEmpty())
return null;
else
return securityLabels;
} catch (ClassCastException e) {
throw new InternalErrorException("Found an object of type '" + obj.getClass().getCanonicalName() + "' in resource metadata for key SECURITY_LABELS - Expected "
+ BaseCodingDt.class.getCanonicalName());
}
}
}
@Override
public void put(IResource iResource, List<BaseCodingDt> labels) {
iResource.getResourceMetadata().put(SECURITY_LABELS, labels);
}
};
/**
* If present and populated with a date/time (as an instance of {@link InstantDt}), this value is an indication that the resource is in the deleted state. This key is only used in a limited number
* of scenarios, such as POSTing transaction bundles to a server, or returning resource history.

View File

@ -99,10 +99,10 @@ public @interface Child {
// * HumanNameDt which adds extensions of your choosing) you could do that using a replacement field.
// */
// String replaces() default "";
/**
* For children which accept an {@link Enumeration} as the type, this
* field indicates the type to use for the enum factory
* field indicates the type to use for the enum factory
*/
Class<? extends IBaseEnumFactory<?>> enumFactory() default NoEnumFactory.class;
@ -111,7 +111,7 @@ public @interface Child {
private NoEnumFactory() {
// non instantiable
}
@Override
public Enum<?> fromCode(String theCodeString) throws IllegalArgumentException {
return null;
@ -121,7 +121,7 @@ public @interface Child {
public String toCode(Enum<?> theCode) {
return null;
}
}
}

View File

@ -59,9 +59,9 @@ public @interface SearchParamDefinition {
* </p>
*/
String[] compositeOf() default {};
/**
* For search params of type "reference", this can optionally be used to
* For search params of type "reference", this can optionally be used to
* specify the resource type(s) that this parameter applies to.
*/
Class<? extends IBaseResource>[] target() default {};

View File

@ -65,10 +65,17 @@ public abstract class BaseCodingDt extends BaseIdentifiableElement implements IC
* A representation of the meaning of the code in the system, following the rules of the system.
* </p>
*/
public abstract StringDt getDisplayElement();
public abstract StringDt getDisplayElement();
public abstract BaseCodingDt setDisplay( String theString);
/*
todo: handle version
public abstract StringDt getVersion();
public abstract BaseCodingDt setVersion ( String theString);
*/
/**
* {@inheritDoc}
*/

View File

@ -127,7 +127,7 @@ public class IdDt extends UriDt implements IPrimitiveDatatype<String> {
/**
* Constructor
*
*
* @param theResourceType
* The resource type (e.g. "Patient")
* @param theId

View File

@ -49,6 +49,8 @@ import javax.json.stream.JsonGenerator;
import javax.json.stream.JsonGeneratorFactory;
import javax.json.stream.JsonParsingException;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.primitive.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.hl7.fhir.instance.model.IBase;
@ -550,11 +552,11 @@ public class JsonParser extends BaseParser implements IParser {
if (primitive) {
if (nextValue instanceof ISupportsUndeclaredExtensions) {
List<ExtensionDt> ext = ((ISupportsUndeclaredExtensions) nextValue).getUndeclaredExtensions();
addToHeldExtensions(valueIdx, ext, extensions,false);
addToHeldExtensions(valueIdx, ext, extensions, false);
ext = ((ISupportsUndeclaredExtensions) nextValue).getUndeclaredModifierExtensions();
addToHeldExtensions(valueIdx, ext, modifierExtensions,true);
}else {
addToHeldExtensions(valueIdx, ext, modifierExtensions, true);
} else {
if (nextValue instanceof IBaseHasExtensions) {
IBaseHasExtensions element = (IBaseHasExtensions) nextValue;
List<? extends IBaseExtension<?>> ext = element.getExtension();
@ -668,11 +670,26 @@ public class JsonParser extends BaseParser implements IParser {
if (myContext.getVersion().getVersion().isNewerThan(FhirVersionEnum.DSTU1) && theResource instanceof IResource) {
IResource resource = (IResource) theResource;
if (!ElementUtil.isEmpty(resource.getId().getVersionIdPart(), ResourceMetadataKeyEnum.UPDATED.get(resource))) {
List<BaseCodingDt> securityLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(resource);
if (securityLabels == null) {
securityLabels = Collections.emptyList();
}
if (!ElementUtil.isEmpty(resource.getId().getVersionIdPart(), ResourceMetadataKeyEnum.UPDATED.get(resource), securityLabels)) {
theEventWriter.writeStartObject("meta");
writeOptionalTagWithTextNode(theEventWriter, "versionId", resource.getId().getVersionIdPart());
writeOptionalTagWithTextNode(theEventWriter, "lastUpdated", ResourceMetadataKeyEnum.UPDATED.get(resource));
theEventWriter.writeEnd();
if (securityLabels.isEmpty()==false) {
theEventWriter.writeStartArray("security");
for (BaseCodingDt securityLabel : securityLabels) {
theEventWriter.writeStartObject();
BaseRuntimeElementCompositeDefinition<?> def = (BaseRuntimeElementCompositeDefinition<?>) myContext.getElementDefinition(securityLabel.getClass());
encodeCompositeElementChildrenToStreamWriter(resDef, resource, securityLabel, theEventWriter, def.getChildren(), theIsSubElementWithinResource);
theEventWriter.writeEnd();
}
theEventWriter.writeEnd();
}
theEventWriter.writeEnd(); //end meta
}
}
@ -1342,7 +1359,7 @@ public class JsonParser extends BaseParser implements IParser {
if (myModifier) {
theEventWriter.writeStartArray("modifierExtension");
}else {
} else {
theEventWriter.writeStartArray("extension");
}

View File

@ -30,6 +30,8 @@ import java.util.Map;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.hl7.fhir.instance.model.IBase;
@ -52,30 +54,25 @@ import ca.uhn.fhir.context.ConfigurationException;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.context.RuntimeChildDeclaredExtensionDefinition;
import ca.uhn.fhir.context.RuntimeElemContainedResources;
import ca.uhn.fhir.context.RuntimePrimitiveDatatypeDefinition;
import ca.uhn.fhir.context.RuntimePrimitiveDatatypeNarrativeDefinition;
import ca.uhn.fhir.context.RuntimeResourceBlockDefinition;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.context.RuntimeResourceReferenceDefinition;
import ca.uhn.fhir.model.api.BaseBundle;
import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.BundleEntry;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.ICompositeElement;
import ca.uhn.fhir.model.api.IElement;
import ca.uhn.fhir.model.api.IExtension;
import ca.uhn.fhir.model.api.IFhirVersion;
import ca.uhn.fhir.model.api.IIdentifiableElement;
import ca.uhn.fhir.model.api.IPrimitiveDatatype;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.api.IResourceBlock;
import ca.uhn.fhir.model.api.ISupportsUndeclaredExtensions;
import ca.uhn.fhir.model.api.ResourceMetadataKeyEnum;
import ca.uhn.fhir.model.api.Tag;
import ca.uhn.fhir.model.api.TagList;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
import ca.uhn.fhir.model.base.resource.BaseBinary;
import ca.uhn.fhir.model.base.resource.ResourceMetadataMap;
@ -826,16 +823,16 @@ class ParserState<T> {
} else {
if (theIsModifier == false) {
if (getCurrentElement() instanceof IBaseHasExtensions) {
IBaseExtension<?> ext = ((IBaseHasExtensions)getCurrentElement()).addExtension();
IBaseExtension<?> ext = ((IBaseHasExtensions) getCurrentElement()).addExtension();
ext.setUrl(theUrlAttr);
ParserState<T>.ExtensionState newState = new ExtensionState(myPreResourceState, ext);
push(newState);
} else {
throw new DataFormatException("Type " + getCurrentElement() + " does not support undeclared extentions, and found an extension with URL: " + theUrlAttr);
}
}else {
} else {
if (getCurrentElement() instanceof IBaseHasModifierExtensions) {
IBaseExtension<?> ext = ((IBaseHasModifierExtensions)getCurrentElement()).addModifierExtension();
IBaseExtension<?> ext = ((IBaseHasModifierExtensions) getCurrentElement()).addModifierExtension();
ext.setUrl(theUrlAttr);
ParserState<T>.ExtensionState newState = new ExtensionState(myPreResourceState, ext);
push(newState);
@ -1664,6 +1661,21 @@ class ParserState<T> {
}
private class SecurityLabelElementStateHapi extends ElementCompositeState<BaseCodingDt> {
public SecurityLabelElementStateHapi(ParserState<T>.PreResourceState thePreResourceState,BaseRuntimeElementCompositeDefinition<?> theDef, BaseCodingDt codingDt) {
super(thePreResourceState, theDef, codingDt);
}
@Override
public void endingElement() throws DataFormatException {
pop();
}
}
private class MetaElementState extends BaseState {
private ResourceMetadataMap myMap;
@ -1687,6 +1699,17 @@ class ParserState<T> {
InstantDt updated = new InstantDt();
push(new PrimitiveState(getPreResourceState(), updated));
myMap.put(ResourceMetadataKeyEnum.UPDATED, updated);
} else if (theLocalPart.equals("security")) {
@SuppressWarnings("unchecked")
List<BaseCodingDt> securityLabels = (List<BaseCodingDt>) myMap.get(ResourceMetadataKeyEnum.SECURITY_LABELS);
if (securityLabels == null) {
securityLabels = new ArrayList<BaseCodingDt>();
myMap.put(ResourceMetadataKeyEnum.SECURITY_LABELS, securityLabels);
}
BaseCodingDt securityLabel= myContext.getVersion().newCodingDt();
BaseRuntimeElementCompositeDefinition<?> codinfDef = (BaseRuntimeElementCompositeDefinition<?>) myContext.getElementDefinition(securityLabel.getClass());
push(new SecurityLabelElementStateHapi(getPreResourceState(), codinfDef, securityLabel));
securityLabels.add(securityLabel);
} else {
throw new DataFormatException("Unexpected element '" + theLocalPart + "' found in 'meta' element");
}
@ -1928,7 +1951,6 @@ class ParserState<T> {
return true;
}
@SuppressWarnings("unchecked")
@Override
public void wereBack() {
myContext.newTerser().visit(myInstance, new IModelVisitor() {

View File

@ -27,10 +27,9 @@ import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import javax.xml.namespace.QName;
import javax.xml.stream.FactoryConfigurationError;
@ -71,14 +70,12 @@ import ca.uhn.fhir.context.RuntimeChildUndeclaredExtensionDefinition;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.BundleEntry;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.IElement;
import ca.uhn.fhir.model.api.IPrimitiveDatatype;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.api.ISupportsUndeclaredExtensions;
import ca.uhn.fhir.model.api.ResourceMetadataKeyEnum;
import ca.uhn.fhir.model.api.Tag;
import ca.uhn.fhir.model.api.TagList;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseNarrativeDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
@ -88,7 +85,6 @@ import ca.uhn.fhir.model.primitive.InstantDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.XhtmlDt;
import ca.uhn.fhir.narrative.INarrativeGenerator;
import ca.uhn.fhir.rest.method.BaseMethodBinding;
import ca.uhn.fhir.util.NonPrettyPrintWriterWrapper;
import ca.uhn.fhir.util.PrettyPrintWriterWrapper;
import ca.uhn.fhir.util.XmlUtil;
@ -109,7 +105,8 @@ public class XmlParser extends BaseParser implements IParser {
private boolean myPrettyPrint;
/**
* Do not use this constructor, the recommended way to obtain a new instance of the XML parser is to invoke {@link FhirContext#newXmlParser()}.
* Do not use this constructor, the recommended way to obtain a new instance of the XML parser is to invoke
* {@link FhirContext#newXmlParser()}.
*/
public XmlParser(FhirContext theContext) {
super(theContext);
@ -438,8 +435,7 @@ public class XmlParser extends BaseParser implements IParser {
theEventWriter.close();
}
private void encodeChildElementToStreamWriter(IBaseResource theResource, XMLStreamWriter theEventWriter, IBase nextValue, String childName, BaseRuntimeElementDefinition<?> childDef,
String theExtensionUrl, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
private void encodeChildElementToStreamWriter(IBaseResource theResource, XMLStreamWriter theEventWriter, IBase nextValue, String childName, BaseRuntimeElementDefinition<?> childDef, String theExtensionUrl, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
if (nextValue.isEmpty()) {
if (childDef.getChildType() == ChildTypeEnum.CONTAINED_RESOURCES && getContainedResources().isEmpty() == false && theIncludedResource == false) {
// We still want to go in..
@ -483,9 +479,10 @@ public class XmlParser extends BaseParser implements IParser {
case CONTAINED_RESOURCES: {
BaseContainedDt value = (BaseContainedDt) nextValue;
/*
* Disable per #103 for (IResource next : value.getContainedResources()) { if (getContainedResources().getResourceId(next) != null) { continue; }
* theEventWriter.writeStartElement("contained"); encodeResourceToXmlStreamWriter(next, theEventWriter, true, fixContainedResourceId(next.getId().getValue()));
* theEventWriter.writeEndElement(); }
* Disable per #103 for (IResource next : value.getContainedResources()) { if
* (getContainedResources().getResourceId(next) != null) { continue; }
* theEventWriter.writeStartElement("contained"); encodeResourceToXmlStreamWriter(next, theEventWriter,
* true, fixContainedResourceId(next.getId().getValue())); theEventWriter.writeEndElement(); }
*/
for (IBaseResource next : getContainedResources().getContainedResources()) {
IdDt resourceId = getContainedResources().getResourceId(next);
@ -517,13 +514,12 @@ public class XmlParser extends BaseParser implements IParser {
}
private void encodeCompositeElementChildrenToStreamWriter(IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter, List<? extends BaseRuntimeChildDefinition> children,
boolean theIncludedResource) throws XMLStreamException, DataFormatException {
private void encodeCompositeElementChildrenToStreamWriter(IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter, List<? extends BaseRuntimeChildDefinition> children, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
for (BaseRuntimeChildDefinition nextChild : children) {
if (nextChild.getElementName().equals("extension") || nextChild.getElementName().equals("modifierExtension")) {
continue;
}
if (nextChild instanceof RuntimeChildNarrativeDefinition && !theIncludedResource) {
INarrativeGenerator gen = myContext.getNarrativeGenerator();
if (theResource instanceof IResource) {
@ -578,7 +574,7 @@ public class XmlParser extends BaseParser implements IParser {
// This is called for the Query resource in DSTU1 only
extensionUrl = ((IBaseExtension<?>) nextValue).getUrl();
encodeChildElementToStreamWriter(theResource, theEventWriter, nextValue, childName, childDef, extensionUrl, theIncludedResource);
} else if (extensionUrl != null && childName.equals("extension") == false) {
RuntimeChildDeclaredExtensionDefinition extDef = (RuntimeChildDeclaredExtensionDefinition) nextChild;
if (extDef.isModifier()) {
@ -599,8 +595,7 @@ public class XmlParser extends BaseParser implements IParser {
}
}
private void encodeCompositeElementToStreamWriter(IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter, BaseRuntimeElementCompositeDefinition<?> theElementDefinition,
boolean theIncludedResource) throws XMLStreamException, DataFormatException {
private void encodeCompositeElementToStreamWriter(IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter, BaseRuntimeElementCompositeDefinition<?> theElementDefinition, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
encodeExtensionsIfPresent(theResource, theEventWriter, theElement, theIncludedResource);
encodeCompositeElementChildrenToStreamWriter(theResource, theElement, theEventWriter, theElementDefinition.getExtensions(), theIncludedResource);
encodeCompositeElementChildrenToStreamWriter(theResource, theElement, theEventWriter, theElementDefinition.getChildren(), theIncludedResource);
@ -623,8 +618,9 @@ public class XmlParser extends BaseParser implements IParser {
}
/**
* This is just to work around the fact that casting java.util.List<ca.uhn.fhir.model.api.ExtensionDt> to java.util.List<? extends org.hl7.fhir.instance.model.api.IBaseExtension<?>> seems to be
* rejected by the compiler some of the time.
* This is just to work around the fact that casting java.util.List<ca.uhn.fhir.model.api.ExtensionDt> to
* java.util.List<? extends org.hl7.fhir.instance.model.api.IBaseExtension<?>> seems to be rejected by the compiler
* some of the time.
*/
private <Q extends IBaseExtension<?>> List<IBaseExtension<?>> toBaseExtensionList(final List<Q> theList) {
List<IBaseExtension<?>> retVal = new ArrayList<IBaseExtension<?>>(theList.size());
@ -647,11 +643,10 @@ public class XmlParser extends BaseParser implements IParser {
}
}
private void encodeResourceToStreamWriterInDstu2Format(RuntimeResourceDefinition theResDef, IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter,
BaseRuntimeElementCompositeDefinition<?> resDef, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
private void encodeResourceToStreamWriterInDstu2Format(RuntimeResourceDefinition theResDef, IBaseResource theResource, IBase theElement, XMLStreamWriter theEventWriter, BaseRuntimeElementCompositeDefinition<?> resDef, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
/*
* DSTU2 requires extensions to come in a specific spot within the encoded content - This is a bit of a messy way to make that happen, but hopefully this won't matter as much once we use the
* HL7 structures
* DSTU2 requires extensions to come in a specific spot within the encoded content - This is a bit of a messy
* way to make that happen, but hopefully this won't matter as much once we use the HL7 structures
*/
List<BaseRuntimeChildDefinition> preExtensionChildren = new ArrayList<BaseRuntimeChildDefinition>();
@ -741,12 +736,17 @@ public class XmlParser extends BaseParser implements IParser {
if (myContext.getVersion().getVersion().isNewerThan(FhirVersionEnum.DSTU1)) {
// DSTU2+
IResource resource = (IResource) theResource;
writeOptionalTagWithValue(theEventWriter, "id", theResourceId);
InstantDt updated = (InstantDt) resource.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED);
IdDt resourceId = resource.getId();
if (resourceId != null && isNotBlank(resourceId.getVersionIdPart()) || (updated != null && !updated.isEmpty())) {
List<BaseCodingDt> securityLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(resource);
if (securityLabels == null) {
securityLabels = Collections.emptyList();
}
if ((resourceId != null && isNotBlank(resourceId.getVersionIdPart())) || (updated != null && !updated.isEmpty()) || !securityLabels.isEmpty()) {
theEventWriter.writeStartElement("meta");
String versionIdPart = resourceId.getVersionIdPart();
if (isBlank(versionIdPart)) {
@ -756,6 +756,12 @@ public class XmlParser extends BaseParser implements IParser {
if (updated != null) {
writeOptionalTagWithValue(theEventWriter, "lastUpdated", updated.getValueAsString());
}
for (BaseCodingDt securityLabel : securityLabels) {
theEventWriter.writeStartElement("security");
BaseRuntimeElementCompositeDefinition<?> def = (BaseRuntimeElementCompositeDefinition<?>) myContext.getElementDefinition(securityLabel.getClass());
encodeCompositeElementChildrenToStreamWriter(resource, securityLabel, theEventWriter, def.getChildren(), theContainedResource);
theEventWriter.writeEndElement();
}
theEventWriter.writeEndElement();
}
@ -822,8 +828,7 @@ public class XmlParser extends BaseParser implements IParser {
}
}
private void encodeUndeclaredExtensions(IBaseResource theResource, XMLStreamWriter theWriter, List<? extends IBaseExtension<?>> theExtensions, String tagName, boolean theIncludedResource)
throws XMLStreamException, DataFormatException {
private void encodeUndeclaredExtensions(IBaseResource theResource, XMLStreamWriter theWriter, List<? extends IBaseExtension<?>> theExtensions, String tagName, boolean theIncludedResource) throws XMLStreamException, DataFormatException {
for (IBaseExtension<?> next : theExtensions) {
if (next == null) {
continue;

View File

@ -59,7 +59,7 @@ public abstract class BaseHttpClientInvocation {
public abstract HttpRequestBase asHttpRequest(String theUrlBase, Map<String, List<String>> theExtraParams, EncodingEnum theEncoding);
protected static void appendExtraParamsWithQuestionMark(Map<String, List<String>> theExtraParams, StringBuilder theUrlBuilder, boolean theWithQuestionMark) {
if (theExtraParams==null) {
if (theExtraParams == null) {
return;
}
boolean first = theWithQuestionMark;

View File

@ -22,8 +22,8 @@ package ca.uhn.fhir.rest.gclient;
public interface IBaseQuery<T> {
T where(ICriterion<?> theCriterion);
T where(ICriterion<?> theCriterion);
T and(ICriterion<?> theCriterion);
T and(ICriterion<?> theCriterion);
}

View File

@ -38,12 +38,11 @@ public interface ICreateTyped extends IClientExecutable<ICreateTyped, MethodOutc
ICreateTyped withId(IdDt theId);
/**
* Specifies that the create should be performed as a conditional create
* against a given search URL.
*
* Specifies that the create should be performed as a conditional create
* against a given search URL.
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
* @since HAPI 0.9 / FHIR DSTU 2
*/
ICreateTyped conditionalByUrl(String theSearchUrl);

View File

@ -32,12 +32,11 @@ public interface IDelete {
IDeleteTyped resourceById(String theResourceType, String theLogicalId);
/**
* Specifies that the delete should be performed as a conditional delete
* against a given search URL.
*
* Specifies that the delete should be performed as a conditional delete
* against a given search URL.
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
* @since HAPI 0.9 / FHIR DSTU 2
*/
IDeleteTyped resourceConditionalByUrl(String theSearchUrl);

View File

@ -24,7 +24,7 @@ import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.Include;
import ca.uhn.fhir.rest.method.SearchStyleEnum;
public interface IQuery extends IClientExecutable<IQuery,Bundle>, IBaseQuery<IQuery> {
public interface IQuery extends IClientExecutable<IQuery, Bundle>, IBaseQuery<IQuery> {
IQuery include(Include theIncludeManagingorganization);

View File

@ -29,12 +29,11 @@ public interface IUpdateTyped extends IUpdateExecutable {
IUpdateExecutable withId(String theId);
/**
* Specifies that the update should be performed as a conditional create
* against a given search URL.
*
* Specifies that the update should be performed as a conditional create
* against a given search URL.
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
* @since HAPI 0.9 / FHIR DSTU 2
*/
IUpdateTyped conditionalByUrl(String theSearchUrl);

View File

@ -197,11 +197,11 @@ public class MethodUtil {
public static HttpPutClientInvocation createUpdateInvocation(FhirContext theContext, IResource theResource, String theResourceBody, Map<String, List<String>> theMatchParams) {
StringBuilder b = new StringBuilder();
String resourceType = theContext.getResourceDefinition(theResource).getName();
b.append(resourceType);
boolean haveQuestionMark=false;
boolean haveQuestionMark = false;
for (Entry<String, List<String>> nextEntry : theMatchParams.entrySet()) {
for (String nextValue : nextEntry.getValue()) {
b.append(haveQuestionMark ? '&' : '?');
@ -216,7 +216,7 @@ public class MethodUtil {
}
}
HttpPutClientInvocation retVal;
if (StringUtils.isBlank(theResourceBody)) {
retVal = new HttpPutClientInvocation(theContext, theResource, b.toString());
@ -232,9 +232,9 @@ public class MethodUtil {
public static HttpPutClientInvocation createUpdateInvocation(FhirContext theContext, IResource theResource, String theResourceBody, String theMatchUrl) {
HttpPutClientInvocation retVal;
if (StringUtils.isBlank(theResourceBody)) {
retVal = new HttpPutClientInvocation(theContext, theResource, theMatchUrl);
retVal = new HttpPutClientInvocation(theContext, theResource, theMatchUrl);
} else {
retVal = new HttpPutClientInvocation(theContext, theResourceBody, false,theMatchUrl);
retVal = new HttpPutClientInvocation(theContext, theResourceBody, false, theMatchUrl);
}
addTagsToPostOrPut(theResource, retVal);
@ -245,10 +245,10 @@ public class MethodUtil {
public static EncodingEnum detectEncoding(String theBody) {
for (int i = 0; i < theBody.length(); i++) {
switch (theBody.charAt(i)) {
case '<':
return EncodingEnum.XML;
case '{':
return EncodingEnum.JSON;
case '<':
return EncodingEnum.XML;
case '{':
return EncodingEnum.JSON;
}
}
return EncodingEnum.XML;
@ -509,26 +509,26 @@ public class MethodUtil {
public static IQueryParameterAnd<?> parseQueryParams(RuntimeSearchParam theParamDef, String theUnqualifiedParamName, List<QualifiedParamList> theParameters) {
QueryParameterAndBinder binder = null;
switch (theParamDef.getParamType()) {
case COMPOSITE:
throw new UnsupportedOperationException();
case DATE:
binder = new QueryParameterAndBinder(DateAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case NUMBER:
binder = new QueryParameterAndBinder(NumberAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case QUANTITY:
binder = new QueryParameterAndBinder(QuantityAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case REFERENCE:
binder = new QueryParameterAndBinder(ReferenceAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case STRING:
binder = new QueryParameterAndBinder(StringAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case TOKEN:
binder = new QueryParameterAndBinder(TokenAndListParam.class, Collections.<Class<? extends IQueryParameterType>> emptyList());
break;
case COMPOSITE:
throw new UnsupportedOperationException();
case DATE:
binder = new QueryParameterAndBinder(DateAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
case NUMBER:
binder = new QueryParameterAndBinder(NumberAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
case QUANTITY:
binder = new QueryParameterAndBinder(QuantityAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
case REFERENCE:
binder = new QueryParameterAndBinder(ReferenceAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
case STRING:
binder = new QueryParameterAndBinder(StringAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
case TOKEN:
binder = new QueryParameterAndBinder(TokenAndListParam.class, Collections.<Class<? extends IQueryParameterType>>emptyList());
break;
}
return binder.parse(theUnqualifiedParamName, theParameters);

View File

@ -49,8 +49,7 @@ import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.UriDt;
public class InternalCodingDt
extends BaseCodingDt implements ICompositeDatatype
public class InternalCodingDt extends BaseCodingDt implements ICompositeDatatype
{
/**

View File

@ -22,24 +22,21 @@ package org.hl7.fhir.instance.model.api;
public interface IBaseEnumFactory<T extends Enum<?>> {
/**
* Read an enumeration value from the string that represents it on the XML or JSON
*
* @param codeString
* the value found in the XML or JSON
* @return the enumeration value
* @throws IllegalArgumentException
* is the value is not known
*/
public T fromCode(String codeString) throws IllegalArgumentException;
/**
* Read an enumeration value from the string that represents it on the XML or JSON
*
* @param codeString the value found in the XML or JSON
* @return the enumeration value
* @throws IllegalArgumentException is the value is not known
*/
public T fromCode(String codeString) throws IllegalArgumentException;
/**
* Get the XML/JSON representation for an enumerated value
*
* @param code
* - the enumeration value
* @return the XML/JSON representation
*/
public String toCode(T code);
/**
* Get the XML/JSON representation for an enumerated value
*
* @param code - the enumeration value
* @return the XML/JSON representation
*/
public String toCode(T code);
}

View File

@ -26,14 +26,14 @@ import org.hl7.fhir.instance.model.ICompositeType;
public interface IBaseExtension<T> extends ICompositeType {
List<T> getExtension();
List<T> getExtension();
String getUrl();
IBaseDatatype getValue();
T setUrl(String theUrl);
T setValue(IBaseDatatype theValue);
}

View File

@ -24,8 +24,8 @@ import java.util.List;
public interface IBaseHasExtensions {
public List<? extends IBaseExtension<?>> getExtension();
public List<? extends IBaseExtension<?>> getExtension();
public IBaseExtension<?> addExtension();
public IBaseExtension<?> addExtension();
}

View File

@ -24,8 +24,8 @@ import java.util.List;
public interface IBaseHasModifierExtensions {
public List<? extends IBaseExtension<?>> getModifierExtension();
public List<? extends IBaseExtension<?>> getModifierExtension();
public IBaseExtension<?> addModifierExtension();
public IBaseExtension<?> addModifierExtension();
}

View File

@ -21,8 +21,8 @@ public class MultiVersionJsonParserTest {
String str = FhirContext.forDstu2().newJsonParser().encodeResourceToString(p);
ourLog.info(str);
assertThat(str,StringContains.containsString("{\"resourceType\":\"Patient\",\"extension\":[{\"url\":\"http://foo#ext\",\"valueQuantity\":{\"value\":2.2}}],\"identifier\":[{\"system\":\"urn:sys\",\"value\":\"001\"}]}"));
assertThat(str, StringContains.containsString("{\"resourceType\":\"Patient\",\"extension\":[{\"url\":\"http://foo#ext\",\"valueQuantity\":{\"value\":2.2}}],\"identifier\":[{\"system\":\"urn:sys\",\"value\":\"001\"}]}"));
}
}

View File

@ -600,12 +600,12 @@ public abstract class BaseFhirDao implements IDao {
String qualifier = null;
for (int i = 0; i < paramMap.size(); i++) {
switch (paramName.charAt(i)) {
case '.':
case ':':
qualifier = paramName.substring(i);
paramName = paramName.substring(0, i);
i = Integer.MAX_VALUE;
break;
case '.':
case ':':
qualifier = paramName.substring(i);
paramName = paramName.substring(0, i);
i = Integer.MAX_VALUE;
break;
}
}
@ -889,7 +889,7 @@ public abstract class BaseFhirDao implements IDao {
}
protected ResourceTable updateEntity(final IResource theResource, ResourceTable entity, boolean theUpdateHistory, Date theDeletedTimestampOrNull) {
return updateEntity(theResource, entity, theUpdateHistory, theDeletedTimestampOrNull, true,true);
return updateEntity(theResource, entity, theUpdateHistory, theDeletedTimestampOrNull, true, true);
}
protected ResourceTable updateEntity(final IResource theResource, ResourceTable entity, boolean theUpdateHistory, Date theDeletedTimestampOrNull, boolean thePerformIndexing, boolean theUpdateVersion) {
@ -972,7 +972,7 @@ public abstract class BaseFhirDao implements IDao {
entity.setHasLinks(links.isEmpty() == false);
} else {
populateResourceIntoEntity(theResource, entity);
entity.setUpdated(new Date());
entity.setLanguage(theResource.getLanguage().getValue());

View File

@ -26,31 +26,31 @@ import ca.uhn.fhir.rest.api.MethodOutcome;
public class DaoMethodOutcome extends MethodOutcome {
private ResourceTable myEntity;
private IResource myResource;
private ResourceTable myEntity;
private IResource myResource;
public ResourceTable getEntity() {
return myEntity;
}
public ResourceTable getEntity() {
return myEntity;
}
public IResource getResource() {
return myResource;
}
public IResource getResource() {
return myResource;
}
@Override
public DaoMethodOutcome setCreated(Boolean theCreated) {
super.setCreated(theCreated);
return this;
}
@Override
public DaoMethodOutcome setCreated(Boolean theCreated) {
super.setCreated(theCreated);
return this;
}
public DaoMethodOutcome setEntity(ResourceTable theEntity) {
myEntity = theEntity;
return this;
}
public DaoMethodOutcome setEntity(ResourceTable theEntity) {
myEntity = theEntity;
return this;
}
public DaoMethodOutcome setResource(IResource theResource) {
myResource = theResource;
return this;
}
public DaoMethodOutcome setResource(IResource theResource) {
myResource = theResource;
return this;
}
}

View File

@ -668,7 +668,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
myEntityManager.persist(newEntity);
myEntityManager.merge(entity);
notifyWriteCompleted();
ourLog.info("Processed addTag {}/{} on {} in {}ms", new Object[] { theScheme, theTerm, theId, w.getMillisAndRestart() });
ourLog.info("Processed addTag {}/{} on {} in {}ms", new Object[]{theScheme, theTerm, theId, w.getMillisAndRestart()});
}
@Override
@ -911,7 +911,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
}
Long pid = resource.iterator().next();
ResourceTable entity = myEntityManager.find(ResourceTable.class, pid);
ResourceTable savedEntity = updateEntity(null, entity, true, new Date());
@ -1190,7 +1190,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
myEntityManager.merge(entity);
ourLog.info("Processed remove tag {}/{} on {} in {}ms", new Object[] { theScheme, theTerm, theId.getValue(), w.getMillisAndRestart() });
ourLog.info("Processed remove tag {}/{} on {} in {}ms", new Object[]{theScheme, theTerm, theId.getValue(), w.getMillisAndRestart()});
}
@Override
@ -1331,7 +1331,8 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
}
retVal.addAll(resources);
}
} while (includePids.size() > 0 && previouslyLoadedPids.size() < getConfig().getIncludeLimit());
}
while (includePids.size() > 0 && previouslyLoadedPids.size() < getConfig().getIncludeLimit());
if (previouslyLoadedPids.size() >= getConfig().getIncludeLimit()) {
OperationOutcome oo = new OperationOutcome();
@ -1351,7 +1352,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
}
};
ourLog.info("Processed search for {} on {} in {}ms", new Object[] { myResourceName, theParams, w.getMillisAndRestart() });
ourLog.info("Processed search for {} on {} in {}ms", new Object[]{myResourceName, theParams, w.getMillisAndRestart()});
return retVal;
}
@ -1436,62 +1437,62 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
RuntimeSearchParam nextParamDef = resourceDef.getSearchParam(nextParamName);
if (nextParamDef != null) {
switch (nextParamDef.getParamType()) {
case DATE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateDate(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
case DATE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateDate(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case QUANTITY:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateQuantity(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case QUANTITY:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateQuantity(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case REFERENCE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateReference(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case REFERENCE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateReference(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case STRING:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateString(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case STRING:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateString(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case TOKEN:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateToken(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case TOKEN:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateToken(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case NUMBER:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateNumber(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case NUMBER:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateNumber(nextParamName, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
case COMPOSITE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateComposite(nextParamDef, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
break;
case COMPOSITE:
for (List<? extends IQueryParameterType> nextAnd : nextParamEntry.getValue()) {
pids = addPredicateComposite(nextParamDef, pids, nextAnd);
if (pids.isEmpty()) {
return new HashSet<Long>();
}
}
}
break;
break;
}
}
}
@ -1568,14 +1569,14 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
@Override
public DaoMethodOutcome update(T theResource) {
return update(theResource,null);
return update(theResource, null);
}
@Override
public DaoMethodOutcome update(T theResource, String theMatchUrl) {
return update(theResource, theMatchUrl, true);
}
@Override
public DaoMethodOutcome update(T theResource, String theMatchUrl, boolean thePerformIndexing) {
StopWatch w = new StopWatch();
@ -1599,7 +1600,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
resourceId = theResource.getId();
entity = readEntityLatestVersion(resourceId);
}
if (resourceId.hasVersionIdPart() && resourceId.getVersionIdPartAsLong().longValue() != entity.getVersion()) {
throw new InvalidRequestException("Trying to update " + resourceId + " but this is not the current version");
}

View File

@ -160,91 +160,91 @@ public class FhirSystemDaoDstu2 extends BaseFhirSystemDao<Bundle> {
}
switch (verb) {
case POST: {
// CREATE
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = getDao(res.getClass());
res.setId(null);
DaoMethodOutcome outcome;
Entry newEntry = response.addEntry();
outcome = resourceDao.create(res, nextEntry.getTransaction().getIfNoneExist(), false);
handleTransactionCreateOrUpdateOutcome(idSubstitutions, idToPersistedOutcome, nextResourceId, outcome, newEntry);
break;
}
case DELETE: {
// DELETE
Entry newEntry = response.addEntry();
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
if (parts.getResourceId() != null) {
parts.getDao().delete(new IdDt(parts.getResourceType(), parts.getResourceId()));
} else {
parts.getDao().deleteByUrl(parts.getResourceType() + '?' + parts.getParams());
}
newEntry.getTransactionResponse().setStatus(Integer.toString(Constants.STATUS_HTTP_204_NO_CONTENT));
break;
}
case PUT: {
// UPDATE
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = getDao(res.getClass());
DaoMethodOutcome outcome;
Entry newEntry = response.addEntry();
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
if (parts.getResourceId() != null) {
res.setId(new IdDt(parts.getResourceType(), parts.getResourceId()));
outcome = resourceDao.update(res, null, false);
} else {
case POST: {
// CREATE
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = getDao(res.getClass());
res.setId(null);
outcome = resourceDao.update(res, parts.getResourceType() + '?' + parts.getParams(), false);
DaoMethodOutcome outcome;
Entry newEntry = response.addEntry();
outcome = resourceDao.create(res, nextEntry.getTransaction().getIfNoneExist(), false);
handleTransactionCreateOrUpdateOutcome(idSubstitutions, idToPersistedOutcome, nextResourceId, outcome, newEntry);
break;
}
handleTransactionCreateOrUpdateOutcome(idSubstitutions, idToPersistedOutcome, nextResourceId, outcome, newEntry);
break;
}
case GET: {
// SEARCH/READ/VREAD
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = parts.getDao();
if (parts.getResourceId() != null && parts.getParams() == null) {
IResource found;
if (parts.getVersionId() != null) {
found = resourceDao.read(new IdDt(parts.getResourceType(), parts.getResourceId(), parts.getVersionId()));
case DELETE: {
// DELETE
Entry newEntry = response.addEntry();
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
if (parts.getResourceId() != null) {
parts.getDao().delete(new IdDt(parts.getResourceType(), parts.getResourceId()));
} else {
found = resourceDao.read(new IdDt(parts.getResourceType(), parts.getResourceId()));
parts.getDao().deleteByUrl(parts.getResourceType() + '?' + parts.getParams());
}
newEntry.getTransactionResponse().setStatus(Integer.toString(Constants.STATUS_HTTP_204_NO_CONTENT));
break;
}
case PUT: {
// UPDATE
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = getDao(res.getClass());
DaoMethodOutcome outcome;
Entry newEntry = response.addEntry();
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
if (parts.getResourceId() != null) {
res.setId(new IdDt(parts.getResourceType(), parts.getResourceId()));
outcome = resourceDao.update(res, null, false);
} else {
res.setId(null);
outcome = resourceDao.update(res, parts.getResourceType() + '?' + parts.getParams(), false);
}
handleTransactionCreateOrUpdateOutcome(idSubstitutions, idToPersistedOutcome, nextResourceId, outcome, newEntry);
break;
}
case GET: {
// SEARCH/READ/VREAD
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
UrlParts parts = parseUrl(verb.getCode(), url);
@SuppressWarnings("rawtypes")
IFhirResourceDao resourceDao = parts.getDao();
if (parts.getResourceId() != null && parts.getParams() == null) {
IResource found;
if (parts.getVersionId() != null) {
found = resourceDao.read(new IdDt(parts.getResourceType(), parts.getResourceId(), parts.getVersionId()));
} else {
found = resourceDao.read(new IdDt(parts.getResourceType(), parts.getResourceId()));
}
EntryTransactionResponse resp = response.addEntry().setResource(found).getTransactionResponse();
resp.setLocation(found.getId().toUnqualified().getValue());
resp.addEtag(found.getId().getVersionIdPart());
} else if (parts.getParams() != null) {
RuntimeResourceDefinition def = getContext().getResourceDefinition(parts.getDao().getResourceType());
SearchParameterMap params = translateMatchUrl(url, def);
IBundleProvider bundle = parts.getDao().search(params);
Bundle searchBundle = new Bundle();
searchBundle.setTotal(bundle.size());
int configuredMax = 100; // this should probably be configurable or something
if (bundle.size() > configuredMax) {
oo.addIssue().setSeverity(IssueSeverityEnum.WARNING).setDetails("Search nested within transaction found more than " + configuredMax + " matches, but paging is not supported in nested transactions");
}
List<IResource> resourcesToAdd = bundle.getResources(0, Math.min(bundle.size(), configuredMax));
for (IResource next : resourcesToAdd) {
searchBundle.addEntry().setResource(next);
}
response.addEntry().setResource(searchBundle);
}
EntryTransactionResponse resp = response.addEntry().setResource(found).getTransactionResponse();
resp.setLocation(found.getId().toUnqualified().getValue());
resp.addEtag(found.getId().getVersionIdPart());
} else if (parts.getParams() != null) {
RuntimeResourceDefinition def = getContext().getResourceDefinition(parts.getDao().getResourceType());
SearchParameterMap params = translateMatchUrl(url, def);
IBundleProvider bundle = parts.getDao().search(params);
Bundle searchBundle = new Bundle();
searchBundle.setTotal(bundle.size());
int configuredMax = 100; // this should probably be configurable or something
if (bundle.size() > configuredMax) {
oo.addIssue().setSeverity(IssueSeverityEnum.WARNING).setDetails("Search nested within transaction found more than " + configuredMax + " matches, but paging is not supported in nested transactions");
}
List<IResource> resourcesToAdd = bundle.getResources(0, Math.min(bundle.size(), configuredMax));
for (IResource next : resourcesToAdd) {
searchBundle.addEntry().setResource(next);
}
response.addEntry().setResource(searchBundle);
}
}
}
}
@ -452,7 +452,7 @@ public class FhirSystemDaoDstu2 extends BaseFhirSystemDao<Bundle> {
// }
long delay = System.currentTimeMillis() - start;
ourLog.info("Transaction completed in {}ms", new Object[] { delay });
ourLog.info("Transaction completed in {}ms", new Object[]{delay});
oo.addIssue().setSeverity(IssueSeverityEnum.INFORMATION).setDetails("Transaction completed in " + delay + "ms");

View File

@ -41,9 +41,8 @@ public interface IFhirResourceDao<T extends IResource> extends IDao {
DaoMethodOutcome create(T theResource, String theIfNoneExist);
/**
* @param thePerformIndexing
* Use with caution! If you set this to false, you need to manually perform indexing or your resources
* won't be indexed and searches won't work.
* @param thePerformIndexing Use with caution! If you set this to false, you need to manually perform indexing or your resources
* won't be indexed and searches won't work.
*/
DaoMethodOutcome create(T theResource, String theIfNoneExist, boolean thePerformIndexing);
@ -75,9 +74,8 @@ public interface IFhirResourceDao<T extends IResource> extends IDao {
BaseHasResource readEntity(IdDt theId);
/**
* @param theCheckForForcedId
* If true, this method should fail if the requested ID contains a numeric PID which exists, but is
* obscured by a "forced ID" so should not exist as far as the outside world is concerned.
* @param theCheckForForcedId If true, this method should fail if the requested ID contains a numeric PID which exists, but is
* obscured by a "forced ID" so should not exist as far as the outside world is concerned.
*/
BaseHasResource readEntity(IdDt theId, boolean theCheckForForcedId);

View File

@ -34,11 +34,11 @@ import javax.persistence.UniqueConstraint;
//@formatter:off
@Entity()
@Table(name = "HFJ_FORCED_ID", uniqueConstraints = {
@UniqueConstraint(name = "IDX_FORCEDID", columnNames = { "FORCED_ID" })
@Table(name = "HFJ_FORCED_ID", uniqueConstraints = {
@UniqueConstraint(name = "IDX_FORCEDID", columnNames = {"FORCED_ID"})
})
@NamedQueries(value= {
@NamedQuery(name = "Q_GET_FORCED_ID", query = "SELECT f FROM ForcedId f WHERE myForcedId = :ID")
@NamedQueries(value = {
@NamedQuery(name = "Q_GET_FORCED_ID", query = "SELECT f FROM ForcedId f WHERE myForcedId = :ID")
})
//@formatter:on
public class ForcedId {

View File

@ -114,7 +114,7 @@ public class FhirResourceDaoTest {
p.addIdentifier().setSystem("urn:system").setValue(methodName);
p.addName().addFamily("Hello");
p.setId("Patient/" + methodName);
ourPatientDao.update(p, "Patient?identifier=urn%3Asystem%7C" + methodName);
p = ourPatientDao.read(id.toVersionless());
@ -125,7 +125,7 @@ public class FhirResourceDaoTest {
}
@Test
public void testCreateNumericIdFails() {
Patient p = new Patient();
@ -140,7 +140,7 @@ public class FhirResourceDaoTest {
}
}
@Test
public void testDeleteWithMatchUrl() {
String methodName = "testDeleteWithMatchUrl";
@ -171,14 +171,14 @@ public class FhirResourceDaoTest {
IBundleProvider history = ourPatientDao.history(id, null);
assertEquals(2, history.size());
assertNotNull(ResourceMetadataKeyEnum.DELETED_AT.get(history.getResources(0, 0).get(0)));
assertNotNull(ResourceMetadataKeyEnum.DELETED_AT.get(history.getResources(0, 0).get(0)).getValue());
assertNull(ResourceMetadataKeyEnum.DELETED_AT.get(history.getResources(1,1).get(0)));
assertNull(ResourceMetadataKeyEnum.DELETED_AT.get(history.getResources(1, 1).get(0)));
}
@Test
public void testCreateWithIfNoneExist() {
String methodName = "testCreateWithIfNoneExist";

View File

@ -34,381 +34,381 @@ import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
public class FhirSystemDaoDstu1Test {
private static ClassPathXmlApplicationContext ourCtx;
private static FhirContext ourFhirContext;
private static IFhirResourceDao<Location> ourLocationDao;
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirSystemDaoDstu1Test.class);
private static IFhirResourceDao<Observation> ourObservationDao;
private static IFhirResourceDao<Patient> ourPatientDao;
private static IFhirSystemDao<List<IResource>> ourSystemDao;
private static ClassPathXmlApplicationContext ourCtx;
private static FhirContext ourFhirContext;
private static IFhirResourceDao<Location> ourLocationDao;
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirSystemDaoDstu1Test.class);
private static IFhirResourceDao<Observation> ourObservationDao;
private static IFhirResourceDao<Patient> ourPatientDao;
private static IFhirSystemDao<List<IResource>> ourSystemDao;
@Test
public void testGetResourceCounts() {
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testGetResourceCountsO01");
ourObservationDao.create(obs);
@Test
public void testGetResourceCounts() {
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testGetResourceCountsO01");
ourObservationDao.create(obs);
Map<String, Long> oldCounts = ourSystemDao.getResourceCounts();
Map<String, Long> oldCounts = ourSystemDao.getResourceCounts();
Patient patient = new Patient();
patient.addIdentifier().setSystem("urn:system").setValue("testGetResourceCountsP01");
patient.addName().addFamily("Tester").addGiven("Joe");
ourPatientDao.create(patient);
Patient patient = new Patient();
patient.addIdentifier().setSystem("urn:system").setValue("testGetResourceCountsP01");
patient.addName().addFamily("Tester").addGiven("Joe");
ourPatientDao.create(patient);
Map<String, Long> newCounts = ourSystemDao.getResourceCounts();
Map<String, Long> newCounts = ourSystemDao.getResourceCounts();
if (oldCounts.containsKey("Patient")) {
assertEquals(oldCounts.get("Patient") + 1, (long) newCounts.get("Patient"));
} else {
assertEquals(1L, (long) newCounts.get("Patient"));
}
if (oldCounts.containsKey("Patient")) {
assertEquals(oldCounts.get("Patient") + 1, (long) newCounts.get("Patient"));
} else {
assertEquals(1L, (long) newCounts.get("Patient"));
}
assertEquals((long) oldCounts.get("Observation"), (long) newCounts.get("Observation"));
assertEquals((long) oldCounts.get("Observation"), (long) newCounts.get("Observation"));
}
}
@Test
public void testHistory() throws Exception {
Date start = new Date();
Thread.sleep(10);
@Test
public void testHistory() throws Exception {
Date start = new Date();
Thread.sleep(10);
Patient patient = new Patient();
patient.addIdentifier().setSystem("urn:system").setValue("testHistory");
patient.addName().addFamily("Tester").addGiven("Joe");
IdDt pid = ourPatientDao.create(patient).getId().toVersionless();
Patient patient = new Patient();
patient.addIdentifier().setSystem("urn:system").setValue("testHistory");
patient.addName().addFamily("Tester").addGiven("Joe");
IdDt pid = ourPatientDao.create(patient).getId().toVersionless();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid = ourPatientDao.update(patient).getId();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid = ourPatientDao.update(patient).getId();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid2 = ourPatientDao.update(patient).getId();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid2 = ourPatientDao.update(patient).getId();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid3 = ourPatientDao.update(patient).getId();
Thread.sleep(10);
patient.setId(pid);
IdDt newpid3 = ourPatientDao.update(patient).getId();
IBundleProvider values = ourSystemDao.history(start);
assertEquals(4, values.size());
IBundleProvider values = ourSystemDao.history(start);
assertEquals(4, values.size());
List<IResource> res = values.getResources(0, 4);
assertEquals(newpid3, res.get(0).getId());
assertEquals(newpid2, res.get(1).getId());
assertEquals(newpid, res.get(2).getId());
assertEquals(pid.toUnqualifiedVersionless(), res.get(3).getId().toUnqualifiedVersionless());
List<IResource> res = values.getResources(0, 4);
assertEquals(newpid3, res.get(0).getId());
assertEquals(newpid2, res.get(1).getId());
assertEquals(newpid, res.get(2).getId());
assertEquals(pid.toUnqualifiedVersionless(), res.get(3).getId().toUnqualifiedVersionless());
Location loc = new Location();
loc.getAddress().addLine("AAA");
IdDt lid = ourLocationDao.create(loc).getId();
Location loc = new Location();
loc.getAddress().addLine("AAA");
IdDt lid = ourLocationDao.create(loc).getId();
Location loc2 = new Location();
loc2.getAddress().addLine("AAA");
ourLocationDao.create(loc2).getId();
Location loc2 = new Location();
loc2.getAddress().addLine("AAA");
ourLocationDao.create(loc2).getId();
Thread.sleep(2000);
Thread.sleep(2000);
values = ourLocationDao.history(start);
assertEquals(2, values.size());
values = ourLocationDao.history(start);
assertEquals(2, values.size());
values = ourLocationDao.history(lid.getIdPartAsLong(), start);
assertEquals(1, values.size());
values = ourLocationDao.history(lid.getIdPartAsLong(), start);
assertEquals(1, values.size());
}
}
@Test
public void testPersistWithSimpleLink() {
Patient patient = new Patient();
patient.setId(new IdDt("Patient/testPersistWithSimpleLinkP01"));
patient.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP01");
patient.addName().addFamily("Tester").addGiven("Joe");
@Test
public void testPersistWithSimpleLink() {
Patient patient = new Patient();
patient.setId(new IdDt("Patient/testPersistWithSimpleLinkP01"));
patient.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP01");
patient.addName().addFamily("Tester").addGiven("Joe");
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/testPersistWithSimpleLinkP01"));
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/testPersistWithSimpleLinkP01"));
ourSystemDao.transaction(Arrays.asList((IResource) patient, obs));
ourSystemDao.transaction(Arrays.asList((IResource) patient, obs));
String patientId = (patient.getId().getIdPart());
String obsId = (obs.getId().getIdPart());
String patientId = (patient.getId().getIdPart());
String obsId = (obs.getId().getIdPart());
// assertThat(patientId, greaterThan(0L));
// assertEquals(patientVersion, 1L);
// assertThat(obsId, greaterThan(patientId));
// assertEquals(obsVersion, 1L);
// assertThat(patientId, greaterThan(0L));
// assertEquals(patientVersion, 1L);
// assertThat(obsId, greaterThan(patientId));
// assertEquals(obsVersion, 1L);
// Try to search
// Try to search
IBundleProvider obsResults = ourObservationDao.search(Observation.SP_NAME, new IdentifierDt("urn:system", "testPersistWithSimpleLinkO01"));
assertEquals(1, obsResults.size());
IBundleProvider obsResults = ourObservationDao.search(Observation.SP_NAME, new IdentifierDt("urn:system", "testPersistWithSimpleLinkO01"));
assertEquals(1, obsResults.size());
IBundleProvider patResults = ourPatientDao.search(Patient.SP_IDENTIFIER, new IdentifierDt("urn:system", "testPersistWithSimpleLinkP01"));
assertEquals(1, obsResults.size());
IBundleProvider patResults = ourPatientDao.search(Patient.SP_IDENTIFIER, new IdentifierDt("urn:system", "testPersistWithSimpleLinkP01"));
assertEquals(1, obsResults.size());
IdDt foundPatientId = patResults.getResources(0, 1).get(0).getId();
ResourceReferenceDt subject = obs.getSubject();
assertEquals(foundPatientId.getIdPart(), subject.getReference().getIdPart());
IdDt foundPatientId = patResults.getResources(0, 1).get(0).getId();
ResourceReferenceDt subject = obs.getSubject();
assertEquals(foundPatientId.getIdPart(), subject.getReference().getIdPart());
// Update
// Update
patient = (Patient) patResults.getResources(0, 1).get(0);
obs = (Observation) obsResults.getResources(0, 1).get(0);
patient.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP02");
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO02");
patient = (Patient) patResults.getResources(0, 1).get(0);
obs = (Observation) obsResults.getResources(0, 1).get(0);
patient.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP02");
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO02");
ourSystemDao.transaction(Arrays.asList((IResource) patient, obs));
ourSystemDao.transaction(Arrays.asList((IResource) patient, obs));
String patientId2 = (patient.getId().getIdPart());
String patientVersion2 = (patient.getId().getVersionIdPart());
String obsId2 = (obs.getId().getIdPart());
String obsVersion2 = (obs.getId().getVersionIdPart());
String patientId2 = (patient.getId().getIdPart());
String patientVersion2 = (patient.getId().getVersionIdPart());
String obsId2 = (obs.getId().getIdPart());
String obsVersion2 = (obs.getId().getVersionIdPart());
assertEquals(patientId, patientId2);
assertEquals(patientVersion2, "2");
assertEquals(obsId, obsId2);
assertEquals(obsVersion2, "2");
assertEquals(patientId, patientId2);
assertEquals(patientVersion2, "2");
assertEquals(obsId, obsId2);
assertEquals(obsVersion2, "2");
}
}
@Test
public void testPersistWithUnknownId() {
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/999998888888"));
@Test
public void testPersistWithUnknownId() {
Observation obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/999998888888"));
try {
ourSystemDao.transaction(Arrays.asList((IResource) obs));
} catch (InvalidRequestException e) {
assertThat(e.getMessage(), containsString("Resource Patient/999998888888 not found, specified in path: Observation.subject"));
}
try {
ourSystemDao.transaction(Arrays.asList((IResource) obs));
} catch (InvalidRequestException e) {
assertThat(e.getMessage(), containsString("Resource Patient/999998888888 not found, specified in path: Observation.subject"));
}
obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/1.2.3.4"));
obs = new Observation();
obs.getName().addCoding().setSystem("urn:system").setCode("testPersistWithSimpleLinkO01");
obs.setSubject(new ResourceReferenceDt("Patient/1.2.3.4"));
try {
ourSystemDao.transaction(Arrays.asList((IResource) obs));
} catch (InvalidRequestException e) {
assertThat(e.getMessage(), containsString("Resource Patient/1.2.3.4 not found, specified in path: Observation.subject"));
}
try {
ourSystemDao.transaction(Arrays.asList((IResource) obs));
} catch (InvalidRequestException e) {
assertThat(e.getMessage(), containsString("Resource Patient/1.2.3.4 not found, specified in path: Observation.subject"));
}
}
}
@Test
public void testTagOperationss() throws Exception {
@Test
public void testTagOperationss() throws Exception {
TagList preSystemTl = ourSystemDao.getAllTags();
TagList preSystemTl = ourSystemDao.getAllTags();
TagList tl1 = new TagList();
tl1.addTag("testGetAllTagsScheme1", "testGetAllTagsTerm1", "testGetAllTagsLabel1");
Patient p1 = new Patient();
p1.addIdentifier().setSystem("foo").setValue("testGetAllTags01");
ResourceMetadataKeyEnum.TAG_LIST.put(p1, tl1);
ourPatientDao.create(p1);
TagList tl1 = new TagList();
tl1.addTag("testGetAllTagsScheme1", "testGetAllTagsTerm1", "testGetAllTagsLabel1");
Patient p1 = new Patient();
p1.addIdentifier().setSystem("foo").setValue("testGetAllTags01");
ResourceMetadataKeyEnum.TAG_LIST.put(p1, tl1);
ourPatientDao.create(p1);
TagList tl2 = new TagList();
tl2.addTag("testGetAllTagsScheme2", "testGetAllTagsTerm2", "testGetAllTagsLabel2");
Observation o1 = new Observation();
o1.getName().setText("testGetAllTags02");
ResourceMetadataKeyEnum.TAG_LIST.put(o1, tl2);
IdDt o1id = ourObservationDao.create(o1).getId();
assertTrue(o1id.getVersionIdPart() != null);
TagList tl2 = new TagList();
tl2.addTag("testGetAllTagsScheme2", "testGetAllTagsTerm2", "testGetAllTagsLabel2");
Observation o1 = new Observation();
o1.getName().setText("testGetAllTags02");
ResourceMetadataKeyEnum.TAG_LIST.put(o1, tl2);
IdDt o1id = ourObservationDao.create(o1).getId();
assertTrue(o1id.getVersionIdPart() != null);
TagList postSystemTl = ourSystemDao.getAllTags();
assertEquals(preSystemTl.size() + 2, postSystemTl.size());
assertEquals("testGetAllTagsLabel1", postSystemTl.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1").getLabel());
TagList postSystemTl = ourSystemDao.getAllTags();
assertEquals(preSystemTl.size() + 2, postSystemTl.size());
assertEquals("testGetAllTagsLabel1", postSystemTl.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1").getLabel());
TagList tags = ourPatientDao.getAllResourceTags();
assertEquals("testGetAllTagsLabel1", tags.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1").getLabel());
assertNull(tags.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
TagList tags = ourPatientDao.getAllResourceTags();
assertEquals("testGetAllTagsLabel1", tags.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1").getLabel());
assertNull(tags.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
TagList tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertEquals("testGetAllTagsLabel2", tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2").getLabel());
TagList tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertEquals("testGetAllTagsLabel2", tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2").getLabel());
o1.getResourceMetadata().remove(ResourceMetadataKeyEnum.TAG_LIST);
o1.setId(o1id);
IdDt o1id2 = ourObservationDao.update(o1).getId();
assertTrue(o1id2.getVersionIdPart() != null);
o1.getResourceMetadata().remove(ResourceMetadataKeyEnum.TAG_LIST);
o1.setId(o1id);
IdDt o1id2 = ourObservationDao.update(o1).getId();
assertTrue(o1id2.getVersionIdPart() != null);
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertEquals("testGetAllTagsLabel2", tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2").getLabel());
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertEquals("testGetAllTagsLabel2", tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2").getLabel());
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
/*
* Remove a tag from a version
* Remove a tag from a version
*/
ourObservationDao.removeTag(o1id2, "testGetAllTagsScheme2", "testGetAllTagsTerm2");
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
ourObservationDao.removeTag(o1id2, "testGetAllTagsScheme2", "testGetAllTagsTerm2");
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
/*
* Add a tag
*/
ourObservationDao.addTag(o1id2, "testGetAllTagsScheme3", "testGetAllTagsTerm3", "testGetAllTagsLabel3");
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
assertNotNull(tags2.getTag("testGetAllTagsScheme3", "testGetAllTagsTerm3"));
assertEquals("testGetAllTagsLabel3", tags2.getTag("testGetAllTagsScheme3", "testGetAllTagsTerm3").getLabel());
ourObservationDao.addTag(o1id2, "testGetAllTagsScheme3", "testGetAllTagsTerm3", "testGetAllTagsLabel3");
tags2 = ourObservationDao.getTags(o1id2);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
assertNotNull(tags2.getTag("testGetAllTagsScheme3", "testGetAllTagsTerm3"));
assertEquals("testGetAllTagsLabel3", tags2.getTag("testGetAllTagsScheme3", "testGetAllTagsTerm3").getLabel());
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
tags2 = ourObservationDao.getTags(o1id);
assertNull(tags2.getTag("testGetAllTagsScheme1", "testGetAllTagsTerm1"));
assertNotNull(tags2.getTag("testGetAllTagsScheme2", "testGetAllTagsTerm2"));
}
}
@Test(expected = InvalidRequestException.class)
public void testTransactionFailsWithDuplicateIds() {
Patient patient1 = new Patient();
patient1.setId(new IdDt("Patient/testTransactionFailsWithDusplicateIds"));
patient1.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP01");
@Test(expected = InvalidRequestException.class)
public void testTransactionFailsWithDuplicateIds() {
Patient patient1 = new Patient();
patient1.setId(new IdDt("Patient/testTransactionFailsWithDusplicateIds"));
patient1.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP01");
Patient patient2 = new Patient();
patient2.setId(new IdDt("Patient/testTransactionFailsWithDusplicateIds"));
patient2.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP02");
Patient patient2 = new Patient();
patient2.setId(new IdDt("Patient/testTransactionFailsWithDusplicateIds"));
patient2.addIdentifier().setSystem("urn:system").setValue("testPersistWithSimpleLinkP02");
ourSystemDao.transaction(Arrays.asList((IResource) patient1, patient2));
}
ourSystemDao.transaction(Arrays.asList((IResource) patient1, patient2));
}
@Test
public void testTransactionFromBundle() throws Exception {
@Test
public void testTransactionFromBundle() throws Exception {
InputStream bundleRes = FhirSystemDaoDstu1Test.class.getResourceAsStream("/bundle-dstu1.xml");
Bundle bundle = ourFhirContext.newXmlParser().parseBundle(new InputStreamReader(bundleRes));
List<IResource> res = bundle.toListOfResources();
InputStream bundleRes = FhirSystemDaoDstu1Test.class.getResourceAsStream("/bundle-dstu1.xml");
Bundle bundle = ourFhirContext.newXmlParser().parseBundle(new InputStreamReader(bundleRes));
List<IResource> res = bundle.toListOfResources();
ourSystemDao.transaction(res);
ourSystemDao.transaction(res);
Patient p1 = (Patient) res.get(0);
String id = p1.getId().getValue();
ourLog.info("ID: {}", id);
assertThat(id, not(equalToIgnoringCase("74635")));
assertThat(id, not(equalToIgnoringCase("")));
}
Patient p1 = (Patient) res.get(0);
String id = p1.getId().getValue();
ourLog.info("ID: {}", id);
assertThat(id, not(equalToIgnoringCase("74635")));
assertThat(id, not(equalToIgnoringCase("")));
}
/**
* Issue #55
*/
@Test
public void testTransactionWithCidIds() throws Exception {
List<IResource> res = new ArrayList<IResource>();
/**
* Issue #55
*/
@Test
public void testTransactionWithCidIds() throws Exception {
List<IResource> res = new ArrayList<IResource>();
Patient p1 = new Patient();
p1.setId("cid:patient1");
p1.addIdentifier().setSystem("system").setValue("testTransactionWithCidIds01");
res.add(p1);
Patient p1 = new Patient();
p1.setId("cid:patient1");
p1.addIdentifier().setSystem("system").setValue("testTransactionWithCidIds01");
res.add(p1);
Observation o1 = new Observation();
o1.setId("cid:observation1");
o1.getIdentifier().setSystem("system").setValue("testTransactionWithCidIds02");
o1.setSubject(new ResourceReferenceDt("Patient/cid:patient1"));
res.add(o1);
Observation o1 = new Observation();
o1.setId("cid:observation1");
o1.getIdentifier().setSystem("system").setValue("testTransactionWithCidIds02");
o1.setSubject(new ResourceReferenceDt("Patient/cid:patient1"));
res.add(o1);
Observation o2 = new Observation();
o2.setId("cid:observation2");
o2.getIdentifier().setSystem("system").setValue("testTransactionWithCidIds03");
o2.setSubject(new ResourceReferenceDt("Patient/cid:patient1"));
res.add(o2);
Observation o2 = new Observation();
o2.setId("cid:observation2");
o2.getIdentifier().setSystem("system").setValue("testTransactionWithCidIds03");
o2.setSubject(new ResourceReferenceDt("Patient/cid:patient1"));
res.add(o2);
ourSystemDao.transaction(res);
ourSystemDao.transaction(res);
assertTrue(p1.getId().getValue(), p1.getId().getIdPart().matches("^[0-9]+$"));
assertTrue(o1.getId().getValue(), o1.getId().getIdPart().matches("^[0-9]+$"));
assertTrue(o2.getId().getValue(), o2.getId().getIdPart().matches("^[0-9]+$"));
assertTrue(p1.getId().getValue(), p1.getId().getIdPart().matches("^[0-9]+$"));
assertTrue(o1.getId().getValue(), o1.getId().getIdPart().matches("^[0-9]+$"));
assertTrue(o2.getId().getValue(), o2.getId().getIdPart().matches("^[0-9]+$"));
assertThat(o1.getSubject().getReference().getValue(), endsWith("Patient/" + p1.getId().getIdPart()));
assertThat(o2.getSubject().getReference().getValue(), endsWith("Patient/" + p1.getId().getIdPart()));
assertThat(o1.getSubject().getReference().getValue(), endsWith("Patient/" + p1.getId().getIdPart()));
assertThat(o2.getSubject().getReference().getValue(), endsWith("Patient/" + p1.getId().getIdPart()));
}
}
@Test
public void testTransactionWithDelete() throws Exception {
@Test
public void testTransactionWithDelete() throws Exception {
/*
* Create 3
*/
List<IResource> res;
res = new ArrayList<IResource>();
List<IResource> res;
res = new ArrayList<IResource>();
Patient p1 = new Patient();
p1.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p1);
Patient p1 = new Patient();
p1.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p1);
Patient p2 = new Patient();
p2.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p2);
Patient p2 = new Patient();
p2.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p2);
Patient p3 = new Patient();
p3.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p3);
Patient p3 = new Patient();
p3.addIdentifier().setSystem("urn:system").setValue("testTransactionWithDelete");
res.add(p3);
ourSystemDao.transaction(res);
ourSystemDao.transaction(res);
/*
* Verify
*/
IBundleProvider results = ourPatientDao.search(Patient.SP_IDENTIFIER, new TokenParam("urn:system", "testTransactionWithDelete"));
assertEquals(3, results.size());
IBundleProvider results = ourPatientDao.search(Patient.SP_IDENTIFIER, new TokenParam("urn:system", "testTransactionWithDelete"));
assertEquals(3, results.size());
/*
* Now delete 2
*/
res = new ArrayList<IResource>();
List<IResource> existing = results.getResources(0, 3);
res = new ArrayList<IResource>();
List<IResource> existing = results.getResources(0, 3);
p1 = new Patient();
p1.setId(existing.get(0).getId());
ResourceMetadataKeyEnum.DELETED_AT.put(p1, InstantDt.withCurrentTime());
res.add(p1);
p1 = new Patient();
p1.setId(existing.get(0).getId());
ResourceMetadataKeyEnum.DELETED_AT.put(p1, InstantDt.withCurrentTime());
res.add(p1);
p2 = new Patient();
p2.setId(existing.get(1).getId());
ResourceMetadataKeyEnum.DELETED_AT.put(p2, InstantDt.withCurrentTime());
res.add(p2);
p2 = new Patient();
p2.setId(existing.get(1).getId());
ResourceMetadataKeyEnum.DELETED_AT.put(p2, InstantDt.withCurrentTime());
res.add(p2);
ourSystemDao.transaction(res);
ourSystemDao.transaction(res);
/*
* Verify
*/
IBundleProvider results2 = ourPatientDao.search(Patient.SP_IDENTIFIER, new TokenParam("urn:system", "testTransactionWithDelete"));
assertEquals(1, results2.size());
List<IResource> existing2 = results2.getResources(0, 1);
assertEquals(existing2.get(0).getId(), existing.get(2).getId());
IBundleProvider results2 = ourPatientDao.search(Patient.SP_IDENTIFIER, new TokenParam("urn:system", "testTransactionWithDelete"));
assertEquals(1, results2.size());
List<IResource> existing2 = results2.getResources(0, 1);
assertEquals(existing2.get(0).getId(), existing.get(2).getId());
}
}
@AfterClass
public static void afterClass() {
ourCtx.close();
}
@AfterClass
public static void afterClass() {
ourCtx.close();
}
@SuppressWarnings("unchecked")
@BeforeClass
public static void beforeClass() {
ourCtx = new ClassPathXmlApplicationContext("hapi-fhir-server-resourceproviders-dstu1.xml", "fhir-jpabase-spring-test-config.xml");
ourFhirContext = ourCtx.getBean(FhirContext.class);
ourPatientDao = ourCtx.getBean("myPatientDaoDstu1", IFhirResourceDao.class);
ourObservationDao = ourCtx.getBean("myObservationDaoDstu1", IFhirResourceDao.class);
ourLocationDao = ourCtx.getBean("myLocationDaoDstu1", IFhirResourceDao.class);
ourSystemDao = ourCtx.getBean("mySystemDaoDstu1", IFhirSystemDao.class);
}
@SuppressWarnings("unchecked")
@BeforeClass
public static void beforeClass() {
ourCtx = new ClassPathXmlApplicationContext("hapi-fhir-server-resourceproviders-dstu1.xml", "fhir-jpabase-spring-test-config.xml");
ourFhirContext = ourCtx.getBean(FhirContext.class);
ourPatientDao = ourCtx.getBean("myPatientDaoDstu1", IFhirResourceDao.class);
ourObservationDao = ourCtx.getBean("myObservationDaoDstu1", IFhirResourceDao.class);
ourLocationDao = ourCtx.getBean("myLocationDaoDstu1", IFhirResourceDao.class);
ourSystemDao = ourCtx.getBean("mySystemDaoDstu1", IFhirSystemDao.class);
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,20 @@
package ca.uhn.fhirtest;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
/**
* Created by mochaholic on 18/02/2015.
*/
public class MySqlServer implements InitializingBean, DisposableBean {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(MySqlServer.class);
@Override
public void destroy() throws Exception {
}
@Override
public void afterPropertiesSet() throws Exception {
}
}

View File

@ -1,11 +1,13 @@
package ca.uhn.fhirtest;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import ca.uhn.fhir.jpa.provider.JpaSystemProviderDstu2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.ContextLoaderListener;
@ -50,7 +52,8 @@ public class TestRestfulServer extends RestfulServer {
// retrieve all the appropriate resource providers and the
// conformance provider
List<IResourceProvider> beans;
JpaSystemProviderDstu1 systemProvider;
JpaSystemProviderDstu1 systemProviderDstu1 = null;
JpaSystemProviderDstu2 systemProviderDstu2 = null;
IFhirSystemDao systemDao;
ETagSupportEnum etagSupport;
String baseUrlProperty;
@ -58,7 +61,7 @@ public class TestRestfulServer extends RestfulServer {
case "BASE": {
setFhirContext(FhirContext.forDstu1());
beans = myAppCtx.getBean("myResourceProvidersDstu1", List.class);
systemProvider = myAppCtx.getBean("mySystemProviderDstu1", JpaSystemProviderDstu1.class);
systemProviderDstu1 = myAppCtx.getBean("mySystemProviderDstu1", JpaSystemProviderDstu1.class);
systemDao = myAppCtx.getBean("mySystemDaoDstu1", IFhirSystemDao.class);
etagSupport = ETagSupportEnum.DISABLED;
JpaConformanceProviderDstu1 confProvider = new JpaConformanceProviderDstu1(this, systemDao);
@ -70,7 +73,7 @@ public class TestRestfulServer extends RestfulServer {
case "DSTU1": {
setFhirContext(FhirContext.forDstu1());
beans = myAppCtx.getBean("myResourceProvidersDstu1", List.class);
systemProvider = myAppCtx.getBean("mySystemProviderDstu1", JpaSystemProviderDstu1.class);
systemProviderDstu1 = myAppCtx.getBean("mySystemProviderDstu1", JpaSystemProviderDstu1.class);
systemDao = myAppCtx.getBean("mySystemDaoDstu1", IFhirSystemDao.class);
etagSupport = ETagSupportEnum.DISABLED;
JpaConformanceProviderDstu1 confProvider = new JpaConformanceProviderDstu1(this, systemDao);
@ -82,7 +85,7 @@ public class TestRestfulServer extends RestfulServer {
case "DSTU2": {
setFhirContext(FhirContext.forDstu2());
beans = myAppCtx.getBean("myResourceProvidersDstu2", List.class);
systemProvider = myAppCtx.getBean("mySystemProviderDstu2", JpaSystemProviderDstu1.class);
systemProviderDstu2 = myAppCtx.getBean("mySystemProviderDstu2", JpaSystemProviderDstu2.class);
systemDao = myAppCtx.getBean("mySystemDaoDstu2", IFhirSystemDao.class);
etagSupport = ETagSupportEnum.ENABLED;
JpaConformanceProviderDstu2 confProvider = new JpaConformanceProviderDstu2(this, systemDao);
@ -115,7 +118,13 @@ public class TestRestfulServer extends RestfulServer {
ourLog.info(" * Have resource provider for: {}", nextResourceProvider.getResourceType().getSimpleName());
}
setResourceProviders(beans);
setPlainProviders(systemProvider);
List provList = new ArrayList();
if (systemProviderDstu1 != null)
provList.add(systemProviderDstu1);
if (systemProviderDstu2 != null)
provList.add(systemProviderDstu2);
setPlainProviders(provList);
/*
* This tells the server to use "incorrect" MIME types if it detects that the

View File

@ -1,7 +1,8 @@
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:security="http://www.springframework.org/schema/security"
xmlns:oauth="http://www.springframework.org/schema/security/oauth2"
xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:oauth="http://www.springframework.org/schema/security/oauth2"
xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
@ -25,6 +26,12 @@
<bean id="dbServer" class="ca.uhn.fhirtest.DerbyNetworkServer">
</bean>
<!--for mysql-->
<!--
<bean id="dbServer" class="ca.uhn.fhirtest.MySqlServer">
</bean>
-->
<bean depends-on="dbServer" id="myPersistenceDataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<!-- ;create=true /opt/glassfish/glassfish4/glassfish/nodes/localhost-domain1/fhirtest/fhirdb -->
<!-- <property name="url" value="jdbc:hsqldb:hsql://localhost/uhnfhirdb"/>-->
@ -36,7 +43,19 @@
<property name="username" value="SA"/>
<property name="password" value="SA"/>
</bean>
<!--for mysql-->
<!--
<bean depends-on="dbServer" id="myPersistenceDataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://fhirdb.url/fhirdbname" />
<property name="username" value="sa"/>
<property name="password" value="sa"/>
<property name="testOnBorrow" value="true"/>
<property name="validationQuery" value="select 1;"/>
</bean>
-->
<bean depends-on="dbServer" id="myEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="myPersistenceDataSource" />
<property name="persistenceXmlLocation" value="classpath:META-INF/fhirtest_persistence.xml" />
@ -47,6 +66,7 @@
<property name="generateDdl" value="true" />
<property name="databasePlatform" value="org.hibernate.dialect.DerbyTenSevenDialect" />
<!-- <property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" />-->
<!-- <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" /> -->
</bean>
</property>
</bean>

View File

@ -29,8 +29,10 @@ import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.model.api.IFhirVersion;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
import ca.uhn.fhir.model.dev.composite.CodingDt;
import ca.uhn.fhir.model.dev.composite.ContainedDt;
import ca.uhn.fhir.model.dev.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dev.resource.Profile;
@ -102,4 +104,9 @@ public class FhirDev implements IFhirVersion {
return ContainedDt.class;
}
@Override
public BaseCodingDt newCodingDt() {
return new CodingDt();
}
}

View File

@ -61,8 +61,10 @@ import ca.uhn.fhir.model.api.IFhirVersion;
import ca.uhn.fhir.model.api.IPrimitiveDatatype;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
import ca.uhn.fhir.model.dstu.composite.CodingDt;
import ca.uhn.fhir.model.dstu.composite.ContainedDt;
import ca.uhn.fhir.model.dstu.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu.resource.Profile;
@ -377,4 +379,10 @@ public class FhirDstu1 implements IFhirVersion {
return ContainedDt.class;
}
@Override
public BaseCodingDt newCodingDt() {
return new CodingDt();
}
}

View File

@ -99,7 +99,7 @@ public class JsonParserTest {
assertThat(out, containsString("<xhtml:div xmlns:xhtml=\\\"http://www.w3.org/1999/xhtml\\\">hello</xhtml:div>"));
}
@Test
public void testEncodeAndParseExtensions() throws Exception {
@ -113,11 +113,11 @@ public class JsonParserTest {
ExtensionDt parent = new ExtensionDt().setUrl("http://example.com#parent");
patient.addUndeclaredExtension(parent);
ExtensionDt child1 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value1"));
ExtensionDt child1 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value1"));
parent.addUndeclaredExtension(child1);
ExtensionDt child2 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value2"));
ExtensionDt child2 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value2"));
parent.addUndeclaredExtension(child2);
ExtensionDt modExt = new ExtensionDt();
modExt.setUrl("http://example.com/extensions#modext");
modExt.setValue(new DateDt("1995-01-02"));
@ -141,74 +141,74 @@ public class JsonParserTest {
ourLog.info(output);
String enc = ourCtx.newJsonParser().encodeResourceToString(patient);
assertThat(enc, org.hamcrest.Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",",
"\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
assertThat(enc, org.hamcrest.Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",",
"\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
"{\"url\":\"http://example.com#parent\",\"extension\":[{\"url\":\"http://example.com#child\",\"valueString\":\"value1\"},{\"url\":\"http://example.com#child\",\"valueString\":\"value2\"}]}"
));
assertThat(enc, org.hamcrest.Matchers.stringContainsInOrder("\"modifierExtension\":[" +
"{" +
"\"url\":\"http://example.com/extensions#modext\"," +
"\"valueDate\":\"1995-01-02\"" +
"}" +
));
assertThat(enc, org.hamcrest.Matchers.stringContainsInOrder("\"modifierExtension\":[" +
"{" +
"\"url\":\"http://example.com/extensions#modext\"," +
"\"valueDate\":\"1995-01-02\"" +
"}" +
"],"));
assertThat(enc, containsString("\"_given\":[" +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext\"," +
"\"valueString\":\"given\"" +
"}" +
"]" +
"}," +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_parent\"," +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_child\"," +
"\"valueString\":\"CHILD\"" +
"}" +
"]" +
"}" +
"]" +
assertThat(enc, containsString("\"_given\":[" +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext\"," +
"\"valueString\":\"given\"" +
"}" +
"]" +
"}," +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_parent\"," +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_child\"," +
"\"valueString\":\"CHILD\"" +
"}" +
"]" +
"}" +
"]" +
"}"));
/*
* Now parse this back
*/
Patient parsed =ourCtx.newJsonParser().parseResource(Patient.class, enc);
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
ext = parsed.getUndeclaredExtensions().get(0);
assertEquals("http://example.com/extensions#someext", ext.getUrl());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt)ext.getValue()).getValueAsString());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt) ext.getValue()).getValueAsString());
parent = patient.getUndeclaredExtensions().get(1);
assertEquals("http://example.com#parent", parent.getUrl());
assertNull(parent.getValue());
child1 = parent.getExtension().get(0);
assertEquals( "http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt)child1.getValue()).getValueAsString());
assertEquals("http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt) child1.getValue()).getValueAsString());
child2 = parent.getExtension().get(1);
assertEquals( "http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt)child2.getValue()).getValueAsString());
assertEquals("http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt) child2.getValue()).getValueAsString());
modExt = parsed.getUndeclaredModifierExtensions().get(0);
assertEquals("http://example.com/extensions#modext", modExt.getUrl());
assertEquals("1995-01-02", ((DateDt)modExt.getValue()).getValueAsString());
assertEquals("1995-01-02", ((DateDt) modExt.getValue()).getValueAsString());
name = parsed.getName().get(0);
ext2 = name.getGiven().get(0).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext", ext2.getUrl());
assertEquals("given", ((StringDt)ext2.getValue()).getValueAsString());
assertEquals("given", ((StringDt) ext2.getValue()).getValueAsString());
given2ext = name.getGiven().get(1).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext_parent", given2ext.getUrl());
assertNull(given2ext.getValue());
ExtensionDt given2ext2 = given2ext.getExtension().get(0);
assertEquals("http://examples.com#givenext_child", given2ext2.getUrl());
assertEquals("CHILD", ((StringDt)given2ext2.getValue()).getValue());
assertEquals("CHILD", ((StringDt) given2ext2.getValue()).getValue());
}

View File

@ -152,7 +152,7 @@ public class XmlParserTest {
}
@Test
public void testEncodeAndParseExtensions() throws Exception {
@ -166,11 +166,11 @@ public class XmlParserTest {
ExtensionDt parent = new ExtensionDt().setUrl("http://example.com#parent");
patient.addUndeclaredExtension(parent);
ExtensionDt child1 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value1"));
ExtensionDt child1 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value1"));
parent.addUndeclaredExtension(child1);
ExtensionDt child2 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value2"));
ExtensionDt child2 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value2"));
parent.addUndeclaredExtension(child2);
ExtensionDt modExt = new ExtensionDt();
modExt.setUrl("http://example.com/extensions#modext");
modExt.setValue(new DateDt("1995-01-02"));
@ -205,42 +205,42 @@ public class XmlParserTest {
/*
* Now parse this back
*/
Patient parsed =ourCtx.newXmlParser().parseResource(Patient.class, enc);
Patient parsed = ourCtx.newXmlParser().parseResource(Patient.class, enc);
ext = parsed.getUndeclaredExtensions().get(0);
assertEquals("http://example.com/extensions#someext", ext.getUrl());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt)ext.getValue()).getValueAsString());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt) ext.getValue()).getValueAsString());
parent = patient.getUndeclaredExtensions().get(1);
assertEquals("http://example.com#parent", parent.getUrl());
assertNull(parent.getValue());
child1 = parent.getExtension().get(0);
assertEquals( "http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt)child1.getValue()).getValueAsString());
assertEquals("http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt) child1.getValue()).getValueAsString());
child2 = parent.getExtension().get(1);
assertEquals( "http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt)child2.getValue()).getValueAsString());
assertEquals("http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt) child2.getValue()).getValueAsString());
modExt = parsed.getUndeclaredModifierExtensions().get(0);
assertEquals("http://example.com/extensions#modext", modExt.getUrl());
assertEquals("1995-01-02", ((DateDt)modExt.getValue()).getValueAsString());
assertEquals("1995-01-02", ((DateDt) modExt.getValue()).getValueAsString());
name = parsed.getName().get(0);
ext2 = name.getGiven().get(0).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext", ext2.getUrl());
assertEquals("given", ((StringDt)ext2.getValue()).getValueAsString());
assertEquals("given", ((StringDt) ext2.getValue()).getValueAsString());
given2ext = name.getGiven().get(1).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext_parent", given2ext.getUrl());
assertNull(given2ext.getValue());
ExtensionDt given2ext2 = given2ext.getExtension().get(0);
assertEquals("http://examples.com#givenext_child", given2ext2.getUrl());
assertEquals("CHILD", ((StringDt)given2ext2.getValue()).getValue());
assertEquals("CHILD", ((StringDt) given2ext2.getValue()).getValue());
}
@Test
public void testEncodeBundle() throws InterruptedException {
Bundle b = new Bundle();

View File

@ -23,18 +23,18 @@ package ca.uhn.fhir.model.dstu2;
import java.io.InputStream;
import org.apache.commons.lang3.StringUtils;
import org.hl7.fhir.instance.model.api.IBaseExtension;
import ca.uhn.fhir.context.ConfigurationException;
import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.IDatatype;
import ca.uhn.fhir.model.api.IFhirVersion;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
import ca.uhn.fhir.model.dstu2.composite.ContainedDt;
import ca.uhn.fhir.model.dstu2.composite.CountDt;
import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu2.resource.Profile;
import ca.uhn.fhir.model.primitive.IdDt;
@ -103,5 +103,11 @@ public class FhirDstu2 implements IFhirVersion {
public Class<? extends BaseContainedDt> getContainedType() {
return ContainedDt.class;
}
@Override
public BaseCodingDt newCodingDt() {
return new CodingDt();
}
}

View File

@ -1,12 +1,11 @@
package ca.uhn.fhir.parser;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
@ -21,14 +20,15 @@ import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.ResourceMetadataKeyEnum;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu2.resource.Binary;
import ca.uhn.fhir.model.dstu2.resource.MedicationPrescription;
import ca.uhn.fhir.model.dstu2.resource.Patient;
import ca.uhn.fhir.model.dstu2.resource.QuestionnaireAnswers;
import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum;
import ca.uhn.fhir.model.primitive.BooleanDt;
import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.DateDt;
import ca.uhn.fhir.model.primitive.DateTimeDt;
import ca.uhn.fhir.model.primitive.IdDt;
@ -50,6 +50,80 @@ public class JsonParserTest {
assertEquals("{\"resourceType\":\"Binary\",\"id\":\"11\",\"meta\":{\"versionId\":\"22\"},\"contentType\":\"foo\",\"content\":\"AQIDBA==\"}", val);
}
@Test
public void testEncodeAndParseSecurityLabels() {
Patient p = new Patient();
p.addName().addFamily("FAMILY");
List<BaseCodingDt> labels = new ArrayList<BaseCodingDt>();
labels.add(new CodingDt().setSystem("SYSTEM1").setCode("CODE1").setDisplay("DISPLAY1").setPrimary(true).setVersion("VERSION1").setValueSet(new ResourceReferenceDt("ValueSet1")));
labels.add(new CodingDt().setSystem("SYSTEM2").setCode("CODE2").setDisplay("DISPLAY2").setPrimary(false).setVersion("VERSION2").setValueSet(new ResourceReferenceDt("ValueSet2")));
ResourceMetadataKeyEnum.SECURITY_LABELS.put(p, labels);
String enc = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(p);
ourLog.info(enc);
//@formatter:off
assertEquals("{\n" +
" \"resourceType\":\"Patient\",\n" +
" \"meta\":{\n" +
" \"security\":[\n" +
" {\n" +
" \"system\":\"SYSTEM1\",\n" +
" \"version\":\"VERSION1\",\n" +
" \"code\":\"CODE1\",\n" +
" \"display\":\"DISPLAY1\",\n" +
" \"primary\":true,\n" +
" \"valueSet\":{\n" +
" \"reference\":\"ValueSet1\"\n" +
" }\n" +
" },\n" +
" {\n" +
" \"system\":\"SYSTEM2\",\n" +
" \"version\":\"VERSION2\",\n" +
" \"code\":\"CODE2\",\n" +
" \"display\":\"DISPLAY2\",\n" +
" \"primary\":false,\n" +
" \"valueSet\":{\n" +
" \"reference\":\"ValueSet2\"\n" +
" }\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"name\":[\n" +
" {\n" +
" \"family\":[\n" +
" \"FAMILY\"\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}", enc.trim());
//@formatter:on
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
List<BaseCodingDt> gotLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(parsed);
assertEquals(2,gotLabels.size());
CodingDt label = (CodingDt) gotLabels.get(0);
assertEquals("SYSTEM1", label.getSystem());
assertEquals("CODE1", label.getCode());
assertEquals("DISPLAY1", label.getDisplay());
assertEquals(true, label.getPrimary());
assertEquals("VERSION1", label.getVersion());
assertEquals("ValueSet1", label.getValueSet().getReference().getValue());
label = (CodingDt) gotLabels.get(1);
assertEquals("SYSTEM2", label.getSystem());
assertEquals("CODE2", label.getCode());
assertEquals("DISPLAY2", label.getDisplay());
assertEquals(false, label.getPrimary());
assertEquals("VERSION2", label.getVersion());
assertEquals("ValueSet2", label.getValueSet().getReference().getValue());
}
/**
* Fixing #89
*/
@ -82,11 +156,11 @@ public class JsonParserTest {
ExtensionDt parent = new ExtensionDt().setUrl("http://example.com#parent");
patient.addUndeclaredExtension(parent);
ExtensionDt child1 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value1"));
ExtensionDt child1 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value1"));
parent.addUndeclaredExtension(child1);
ExtensionDt child2 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value2"));
ExtensionDt child2 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value2"));
parent.addUndeclaredExtension(child2);
ExtensionDt modExt = new ExtensionDt();
modExt.setUrl("http://example.com/extensions#modext");
modExt.setValue(new DateDt("1995-01-02"));
@ -110,74 +184,74 @@ public class JsonParserTest {
ourLog.info(output);
String enc = ourCtx.newJsonParser().encodeResourceToString(patient);
assertThat(enc, Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",",
"\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
assertThat(enc, Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",",
"\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
"{\"url\":\"http://example.com#parent\",\"extension\":[{\"url\":\"http://example.com#child\",\"valueString\":\"value1\"},{\"url\":\"http://example.com#child\",\"valueString\":\"value2\"}]}"
));
assertThat(enc, Matchers.stringContainsInOrder("\"modifierExtension\":[" +
"{" +
"\"url\":\"http://example.com/extensions#modext\"," +
"\"valueDate\":\"1995-01-02\"" +
"}" +
));
assertThat(enc, Matchers.stringContainsInOrder("\"modifierExtension\":[" +
"{" +
"\"url\":\"http://example.com/extensions#modext\"," +
"\"valueDate\":\"1995-01-02\"" +
"}" +
"],"));
assertThat(enc, containsString("\"_given\":[" +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext\"," +
"\"valueString\":\"given\"" +
"}" +
"]" +
"}," +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_parent\"," +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_child\"," +
"\"valueString\":\"CHILD\"" +
"}" +
"]" +
"}" +
"]" +
assertThat(enc, containsString("\"_given\":[" +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext\"," +
"\"valueString\":\"given\"" +
"}" +
"]" +
"}," +
"{" +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_parent\"," +
"\"extension\":[" +
"{" +
"\"url\":\"http://examples.com#givenext_child\"," +
"\"valueString\":\"CHILD\"" +
"}" +
"]" +
"}" +
"]" +
"}"));
/*
* Now parse this back
*/
Patient parsed =ourCtx.newJsonParser().parseResource(Patient.class, enc);
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
ext = parsed.getUndeclaredExtensions().get(0);
assertEquals("http://example.com/extensions#someext", ext.getUrl());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt)ext.getValue()).getValueAsString());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt) ext.getValue()).getValueAsString());
parent = patient.getUndeclaredExtensions().get(1);
assertEquals("http://example.com#parent", parent.getUrl());
assertNull(parent.getValue());
child1 = parent.getExtension().get(0);
assertEquals( "http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt)child1.getValue()).getValueAsString());
assertEquals("http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt) child1.getValue()).getValueAsString());
child2 = parent.getExtension().get(1);
assertEquals( "http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt)child2.getValue()).getValueAsString());
assertEquals("http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt) child2.getValue()).getValueAsString());
modExt = parsed.getUndeclaredModifierExtensions().get(0);
assertEquals("http://example.com/extensions#modext", modExt.getUrl());
assertEquals("1995-01-02", ((DateDt)modExt.getValue()).getValueAsString());
assertEquals("1995-01-02", ((DateDt) modExt.getValue()).getValueAsString());
name = parsed.getName().get(0);
ext2 = name.getGiven().get(0).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext", ext2.getUrl());
assertEquals("given", ((StringDt)ext2.getValue()).getValueAsString());
assertEquals("given", ((StringDt) ext2.getValue()).getValueAsString());
given2ext = name.getGiven().get(1).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext_parent", given2ext.getUrl());
assertNull(given2ext.getValue());
ExtensionDt given2ext2 = given2ext.getExtension().get(0);
assertEquals("http://examples.com#givenext_child", given2ext2.getUrl());
assertEquals("CHILD", ((StringDt)given2ext2.getValue()).getValue());
assertEquals("CHILD", ((StringDt) given2ext2.getValue()).getValue());
}

View File

@ -1,8 +1,6 @@
package ca.uhn.fhir.parser;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.emptyOrNullString;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@ -10,6 +8,8 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.custommonkey.xmlunit.Diff;
@ -21,8 +21,11 @@ import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.ResourceMetadataKeyEnum;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
import ca.uhn.fhir.model.dstu2.composite.DurationDt;
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance;
import ca.uhn.fhir.model.dstu2.resource.Binary;
import ca.uhn.fhir.model.dstu2.resource.Composition;
@ -47,6 +50,73 @@ public class XmlParserTest {
XMLUnit.setIgnoreWhitespace(true);
}
@Test
public void testEncodeAndParseSecurityLabels() {
Patient p = new Patient();
p.addName().addFamily("FAMILY");
List<BaseCodingDt> labels = new ArrayList<BaseCodingDt>();
labels.add(new CodingDt().setSystem("SYSTEM1").setCode("CODE1").setDisplay("DISPLAY1").setPrimary(true).setVersion("VERSION1").setValueSet(new ResourceReferenceDt("ValueSet1")));
labels.add(new CodingDt().setSystem("SYSTEM2").setCode("CODE2").setDisplay("DISPLAY2").setPrimary(false).setVersion("VERSION2").setValueSet(new ResourceReferenceDt("ValueSet2")));
ResourceMetadataKeyEnum.SECURITY_LABELS.put(p, labels);
String enc = ourCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(p);
ourLog.info(enc);
//@formatter:off
assertThat(enc, stringContainsInOrder("<Patient xmlns=\"http://hl7.org/fhir\">",
"<meta>",
"<security>",
"<system value=\"SYSTEM1\"/>",
"<version value=\"VERSION1\"/>",
"<code value=\"CODE1\"/>",
"<display value=\"DISPLAY1\"/>",
"<primary value=\"true\"/>",
"<valueSet>",
"<reference value=\"ValueSet1\"/>",
"</valueSet>",
"</security>",
"<security>",
"<system value=\"SYSTEM2\"/>",
"<version value=\"VERSION2\"/>",
"<code value=\"CODE2\"/>",
"<display value=\"DISPLAY2\"/>",
"<primary value=\"false\"/>",
"<valueSet>",
"<reference value=\"ValueSet2\"/>",
"</valueSet>",
"</security>",
"</meta>",
"<name>",
"<family value=\"FAMILY\"/>",
"</name>",
"</Patient>"));
//@formatter:on
Patient parsed = ourCtx.newXmlParser().parseResource(Patient.class, enc);
List<BaseCodingDt> gotLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(parsed);
assertEquals(2,gotLabels.size());
CodingDt label = (CodingDt) gotLabels.get(0);
assertEquals("SYSTEM1", label.getSystem());
assertEquals("CODE1", label.getCode());
assertEquals("DISPLAY1", label.getDisplay());
assertEquals(true, label.getPrimary());
assertEquals("VERSION1", label.getVersion());
assertEquals("ValueSet1", label.getValueSet().getReference().getValue());
label = (CodingDt) gotLabels.get(1);
assertEquals("SYSTEM2", label.getSystem());
assertEquals("CODE2", label.getCode());
assertEquals("DISPLAY2", label.getDisplay());
assertEquals(false, label.getPrimary());
assertEquals("VERSION2", label.getVersion());
assertEquals("ValueSet2", label.getValueSet().getReference().getValue());
}
@Test
public void testDuration() {
Encounter enc = new Encounter();
@ -287,7 +357,7 @@ public class XmlParserTest {
parsed = parser.parseResource(Composition.class, string);
assertEquals(2, parsed.getContained().getContainedResources().size());
}
@Test
public void testEncodeAndParseExtensions() throws Exception {
@ -301,11 +371,11 @@ public class XmlParserTest {
ExtensionDt parent = new ExtensionDt().setUrl("http://example.com#parent");
patient.addUndeclaredExtension(parent);
ExtensionDt child1 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value1"));
ExtensionDt child1 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value1"));
parent.addUndeclaredExtension(child1);
ExtensionDt child2 = new ExtensionDt().setUrl( "http://example.com#child").setValue( new StringDt("value2"));
ExtensionDt child2 = new ExtensionDt().setUrl("http://example.com#child").setValue(new StringDt("value2"));
parent.addUndeclaredExtension(child2);
ExtensionDt modExt = new ExtensionDt();
modExt.setUrl("http://example.com/extensions#modext");
modExt.setValue(new DateDt("1995-01-02"));
@ -340,38 +410,38 @@ public class XmlParserTest {
/*
* Now parse this back
*/
Patient parsed =ourCtx.newXmlParser().parseResource(Patient.class, enc);
Patient parsed = ourCtx.newXmlParser().parseResource(Patient.class, enc);
ext = parsed.getUndeclaredExtensions().get(0);
assertEquals("http://example.com/extensions#someext", ext.getUrl());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt)ext.getValue()).getValueAsString());
assertEquals("2011-01-02T11:13:15", ((DateTimeDt) ext.getValue()).getValueAsString());
parent = patient.getUndeclaredExtensions().get(1);
assertEquals("http://example.com#parent", parent.getUrl());
assertNull(parent.getValue());
child1 = parent.getExtension().get(0);
assertEquals( "http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt)child1.getValue()).getValueAsString());
assertEquals("http://example.com#child", child1.getUrl());
assertEquals("value1", ((StringDt) child1.getValue()).getValueAsString());
child2 = parent.getExtension().get(1);
assertEquals( "http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt)child2.getValue()).getValueAsString());
assertEquals("http://example.com#child", child2.getUrl());
assertEquals("value2", ((StringDt) child2.getValue()).getValueAsString());
modExt = parsed.getUndeclaredModifierExtensions().get(0);
assertEquals("http://example.com/extensions#modext", modExt.getUrl());
assertEquals("1995-01-02", ((DateDt)modExt.getValue()).getValueAsString());
assertEquals("1995-01-02", ((DateDt) modExt.getValue()).getValueAsString());
name = parsed.getName().get(0);
ext2 = name.getGiven().get(0).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext", ext2.getUrl());
assertEquals("given", ((StringDt)ext2.getValue()).getValueAsString());
assertEquals("given", ((StringDt) ext2.getValue()).getValueAsString());
given2ext = name.getGiven().get(1).getUndeclaredExtensions().get(0);
assertEquals("http://examples.com#givenext_parent", given2ext.getUrl());
assertNull(given2ext.getValue());
ExtensionDt given2ext2 = given2ext.getExtension().get(0);
assertEquals("http://examples.com#givenext_child", given2ext2.getUrl());
assertEquals("CHILD", ((StringDt)given2ext2.getValue()).getValue());
assertEquals("CHILD", ((StringDt) given2ext2.getValue()).getValue());
}

View File

@ -33,180 +33,180 @@ import ca.uhn.fhir.rest.server.Constants;
import ca.uhn.fhir.rest.server.EncodingEnum;
public class GenericClientTestDstu2 {
private static FhirContext ourCtx;
private HttpClient myHttpClient;
private HttpResponse myHttpResponse;
private static FhirContext ourCtx;
private HttpClient myHttpClient;
private HttpResponse myHttpResponse;
@BeforeClass
public static void beforeClass() {
ourCtx = FhirContext.forDstu2();
}
@BeforeClass
public static void beforeClass() {
ourCtx = FhirContext.forDstu2();
}
@Before
public void before() {
myHttpClient = mock(HttpClient.class, new ReturnsDeepStubs());
ourCtx.getRestfulClientFactory().setHttpClient(myHttpClient);
ourCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.NEVER);
myHttpResponse = mock(HttpResponse.class, new ReturnsDeepStubs());
}
@Test
public void testSearchByString() throws Exception {
String msg = "{\"resourceType\":\"Bundle\",\"id\":null,\"base\":\"http://localhost:57931/fhir/contextDev\",\"total\":1,\"link\":[{\"relation\":\"self\",\"url\":\"http://localhost:57931/fhir/contextDev/Patient?identifier=urn%3AMultiFhirVersionTest%7CtestSubmitPatient01&_format=json\"}],\"entry\":[{\"resource\":{\"resourceType\":\"Patient\",\"id\":\"1\",\"meta\":{\"versionId\":\"1\",\"lastUpdated\":\"2014-12-20T18:41:29.706-05:00\"},\"identifier\":[{\"system\":\"urn:MultiFhirVersionTest\",\"value\":\"testSubmitPatient01\"}]}}]}";
@Before
public void before() {
myHttpClient = mock(HttpClient.class, new ReturnsDeepStubs());
ourCtx.getRestfulClientFactory().setHttpClient(myHttpClient);
ourCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.NEVER);
myHttpResponse = mock(HttpResponse.class, new ReturnsDeepStubs());
}
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "OK"));
when(myHttpResponse.getEntity().getContentType()).thenReturn(new BasicHeader("content-type", Constants.CT_FHIR_JSON + "; charset=UTF-8"));
when(myHttpResponse.getEntity().getContent()).thenReturn(new ReaderInputStream(new StringReader(msg), Charset.forName("UTF-8")));
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
@Test
public void testSearchByString() throws Exception {
String msg = "{\"resourceType\":\"Bundle\",\"id\":null,\"base\":\"http://localhost:57931/fhir/contextDev\",\"total\":1,\"link\":[{\"relation\":\"self\",\"url\":\"http://localhost:57931/fhir/contextDev/Patient?identifier=urn%3AMultiFhirVersionTest%7CtestSubmitPatient01&_format=json\"}],\"entry\":[{\"resource\":{\"resourceType\":\"Patient\",\"id\":\"1\",\"meta\":{\"versionId\":\"1\",\"lastUpdated\":\"2014-12-20T18:41:29.706-05:00\"},\"identifier\":[{\"system\":\"urn:MultiFhirVersionTest\",\"value\":\"testSubmitPatient01\"}]}}]}";
//@formatter:off
Bundle response = client.search()
.forResource("Patient")
.where(Patient.NAME.matches().value("james"))
.execute();
//@formatter:on
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "OK"));
when(myHttpResponse.getEntity().getContentType()).thenReturn(new BasicHeader("content-type", Constants.CT_FHIR_JSON + "; charset=UTF-8"));
when(myHttpResponse.getEntity().getContent()).thenReturn(new ReaderInputStream(new StringReader(msg), Charset.forName("UTF-8")));
assertEquals("http://example.com/fhir/Patient?name=james", capt.getValue().getURI().toString());
assertEquals(Patient.class, response.getEntries().get(0).getResource().getClass());
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
}
//@formatter:off
Bundle response = client.search()
.forResource("Patient")
.where(Patient.NAME.matches().value("james"))
.execute();
//@formatter:on
@Test
public void testDeleteConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
assertEquals("http://example.com/fhir/Patient?name=james", capt.getValue().getURI().toString());
assertEquals(Patient.class, response.getEntries().get(0).getResource().getClass());
}
@Test
public void testDeleteConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
// when(myHttpResponse.getEntity().getContentType()).thenReturn(new BasicHeader("content-type", Constants.CT_TEXT + "; charset=UTF-8"));
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
int idx = 0;
client.delete().resourceById(new IdDt("Patient/123")).execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient/123", capt.getAllValues().get(idx).getURI().toString());
idx++;
client.delete().resourceConditionalByUrl("Patient?name=foo").execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
int idx = 0;
client.delete().resourceConditionalByType("Patient").where(Patient.NAME.matches().value("foo")).execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
client.delete().resourceById(new IdDt("Patient/123")).execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient/123", capt.getAllValues().get(idx).getURI().toString());
idx++;
}
client.delete().resourceConditionalByUrl("Patient?name=foo").execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
@Test
public void testCreateConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
client.delete().resourceConditionalByType("Patient").where(Patient.NAME.matches().value("foo")).execute();
assertEquals("DELETE", capt.getAllValues().get(idx).getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
}
int idx = 0;
Patient p = new Patient();
p.addName().addFamily("FOOFAMILY");
client.create().resource(p).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("http://example.com/fhir/Patient", capt.getAllValues().get(idx).getURI().toString());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_IF_NONE_EXIST).getValue());
assertEquals("POST", capt.getAllValues().get(idx).getRequestLine().getMethod());
idx++;
@Test
public void testCreateConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
client.create().resource(p).conditional().where(Patient.NAME.matches().value("foo")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("http://example.com/fhir/Patient", capt.getAllValues().get(idx).getURI().toString());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_IF_NONE_EXIST).getValue());
assertEquals("POST", capt.getAllValues().get(idx).getRequestLine().getMethod());
idx++;
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
}
int idx = 0;
Patient p = new Patient();
p.addName().addFamily("FOOFAMILY");
client.create().resource(p).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("http://example.com/fhir/Patient", capt.getAllValues().get(idx).getURI().toString());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_IF_NONE_EXIST).getValue());
assertEquals("POST", capt.getAllValues().get(idx).getRequestLine().getMethod());
idx++;
client.create().resource(p).conditional().where(Patient.NAME.matches().value("foo")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("http://example.com/fhir/Patient", capt.getAllValues().get(idx).getURI().toString());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_IF_NONE_EXIST).getValue());
assertEquals("POST", capt.getAllValues().get(idx).getRequestLine().getMethod());
idx++;
}
@Test
public void testUpdateConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
@Test
public void testUpdateConditional() throws Exception {
ArgumentCaptor<HttpUriRequest> capt = ArgumentCaptor.forClass(HttpUriRequest.class);
when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse);
when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), Constants.STATUS_HTTP_204_NO_CONTENT, ""));
when(myHttpResponse.getEntity().getContent()).then(new Answer<ReaderInputStream>() {
@Override
public ReaderInputStream answer(InvocationOnMock theInvocation) throws Throwable {
return new ReaderInputStream(new StringReader(""), Charset.forName("UTF-8"));
}
});
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
IGenericClient client = ourCtx.newRestfulGenericClient("http://example.com/fhir");
int idx = 0;
Patient p = new Patient();
p.addName().addFamily("FOOFAMILY");
client.update().resource(p).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
int idx = 0;
client.update().resource(ourCtx.newXmlParser().encodeResourceToString(p)).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
Patient p = new Patient();
p.addName().addFamily("FOOFAMILY");
client.update().resource(p).conditional().where(Patient.NAME.matches().value("foo")).and(Patient.ADDRESS.matches().value("AAA|BBB")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo&address=AAA%5C%7CBBB", capt.getAllValues().get(idx).getURI().toString());
idx++;
client.update().resource(p).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
client.update().resource(ourCtx.newXmlParser().encodeResourceToString(p)).conditional().where(Patient.NAME.matches().value("foo")).and(Patient.ADDRESS.matches().value("AAA|BBB")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo&address=AAA%5C%7CBBB", capt.getAllValues().get(idx).getURI().toString());
idx++;
client.update().resource(ourCtx.newXmlParser().encodeResourceToString(p)).conditionalByUrl("Patient?name=foo").execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo", capt.getAllValues().get(idx).getURI().toString());
idx++;
}
client.update().resource(p).conditional().where(Patient.NAME.matches().value("foo")).and(Patient.ADDRESS.matches().value("AAA|BBB")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo&address=AAA%5C%7CBBB", capt.getAllValues().get(idx).getURI().toString());
idx++;
private String extractBody(ArgumentCaptor<HttpUriRequest> capt, int count) throws IOException {
String body = IOUtils.toString(((HttpEntityEnclosingRequestBase) capt.getAllValues().get(count)).getEntity().getContent(), "UTF-8");
return body;
}
client.update().resource(ourCtx.newXmlParser().encodeResourceToString(p)).conditional().where(Patient.NAME.matches().value("foo")).and(Patient.ADDRESS.matches().value("AAA|BBB")).execute();
assertEquals(1, capt.getAllValues().get(idx).getHeaders(Constants.HEADER_CONTENT_TYPE).length);
assertEquals(EncodingEnum.XML.getResourceContentType() + Constants.HEADER_SUFFIX_CT_UTF_8, capt.getAllValues().get(idx).getFirstHeader(Constants.HEADER_CONTENT_TYPE).getValue());
assertThat(extractBody(capt, idx), containsString("<family value=\"FOOFAMILY\"/>"));
assertEquals("PUT", capt.getAllValues().get(idx).getRequestLine().getMethod());
assertEquals("http://example.com/fhir/Patient?name=foo&address=AAA%5C%7CBBB", capt.getAllValues().get(idx).getURI().toString());
idx++;
}
private String extractBody(ArgumentCaptor<HttpUriRequest> capt, int count) throws IOException {
String body = IOUtils.toString(((HttpEntityEnclosingRequestBase) capt.getAllValues().get(count)).getEntity().getContent(), "UTF-8");
return body;
}
}

View File

@ -26,20 +26,14 @@ import java.util.ArrayList;
import org.apache.commons.lang3.StringUtils;
import org.hl7.fhir.instance.conf.ServerConformanceProvider;
import org.hl7.fhir.instance.conf.ServerProfileProvider;
import org.hl7.fhir.instance.model.Extension;
import org.hl7.fhir.instance.model.Profile;
import org.hl7.fhir.instance.model.Reference;
import org.hl7.fhir.instance.model.api.IBaseExtension;
import ca.uhn.fhir.context.ConfigurationException;
import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.IFhirVersion;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.base.composite.BaseContainedDt;
import ca.uhn.fhir.model.base.composite.BaseResourceReferenceDt;
import ca.uhn.fhir.model.primitive.IdDt;
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
import ca.uhn.fhir.rest.server.IResourceProvider;
import ca.uhn.fhir.rest.server.RestfulServer;
@ -106,4 +100,9 @@ public class FhirDstu2Hl7Org implements IFhirVersion {
return ArrayList.class;
}
@Override
public BaseCodingDt newCodingDt() {
throw new UnsupportedOperationException();
}
}

View File

@ -146,57 +146,57 @@ public class Address extends Type implements ICompositeType {
/**
* The purpose of this address.
*/
@Child(name="use", type={CodeType.class}, order=0, min=0, max=1)
@Child(name = "use", type = {CodeType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="home | work | temp | old - purpose of this address", formalDefinition="The purpose of this address." )
protected Enumeration<AddressUse> use;
/**
* A full text representation of the address.
*/
@Child(name="text", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "text", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Text representation of the address", formalDefinition="A full text representation of the address." )
protected StringType text;
/**
* This component contains the house number, apartment number, street name, street direction,
* This component contains the house number, apartment number, street name, street direction,
P.O. Box number, delivery hints, and similar address information.
*/
@Child(name="line", type={StringType.class}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "line", type = {StringType.class}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Street name, number, direction & P.O. Box etc", formalDefinition="This component contains the house number, apartment number, street name, street direction, \nP.O. Box number, delivery hints, and similar address information." )
protected List<StringType> line;
/**
* The name of the city, town, village or other community or delivery center.
*/
@Child(name="city", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "city", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Name of city, town etc.", formalDefinition="The name of the city, town, village or other community or delivery center." )
protected StringType city;
/**
* Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
*/
@Child(name="state", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "state", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Sub-unit of country (abreviations ok)", formalDefinition="Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes)." )
protected StringType state;
/**
* A postal code designating a region defined by the postal service.
*/
@Child(name="postalCode", type={StringType.class}, order=5, min=0, max=1)
@Child(name = "postalCode", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Postal code for area", formalDefinition="A postal code designating a region defined by the postal service." )
protected StringType postalCode;
/**
* Country - a nation as commonly understood or generally accepted.
*/
@Child(name="country", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "country", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Country (can be ISO 3166 3 letter code)", formalDefinition="Country - a nation as commonly understood or generally accepted." )
protected StringType country;
/**
* Time period when address was/is in use.
*/
@Child(name="period", type={Period.class}, order=7, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Time period when address was/is in use", formalDefinition="Time period when address was/is in use." )
protected Period period;
@ -305,7 +305,7 @@ P.O. Box number, delivery hints, and similar address information.
}
/**
* @return {@link #line} (This component contains the house number, apartment number, street name, street direction,
* @return {@link #line} (This component contains the house number, apartment number, street name, street direction,
P.O. Box number, delivery hints, and similar address information.)
*/
public List<StringType> getLine() {
@ -324,7 +324,7 @@ P.O. Box number, delivery hints, and similar address information.)
}
/**
* @return {@link #line} (This component contains the house number, apartment number, street name, street direction,
* @return {@link #line} (This component contains the house number, apartment number, street name, street direction,
P.O. Box number, delivery hints, and similar address information.)
*/
// syntactic sugar
@ -337,7 +337,7 @@ P.O. Box number, delivery hints, and similar address information.)
}
/**
* @param value {@link #line} (This component contains the house number, apartment number, street name, street direction,
* @param value {@link #line} (This component contains the house number, apartment number, street name, street direction,
P.O. Box number, delivery hints, and similar address information.)
*/
public Address addLine(String value) { //1
@ -350,7 +350,7 @@ P.O. Box number, delivery hints, and similar address information.)
}
/**
* @param value {@link #line} (This component contains the house number, apartment number, street name, street direction,
* @param value {@link #line} (This component contains the house number, apartment number, street name, street direction,
P.O. Box number, delivery hints, and similar address information.)
*/
public boolean hasLine(String value) {

View File

@ -134,28 +134,28 @@ public class Alert extends DomainResource {
/**
* Identifier assigned to the alert for external use (outside the FHIR environment).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business identifier", formalDefinition="Identifier assigned to the alert for external use (outside the FHIR environment)." )
protected List<Identifier> identifier;
/**
* Allows an alert to be divided into different categories like clinical, administrative etc.
*/
@Child(name="category", type={CodeableConcept.class}, order=1, min=0, max=1)
@Child(name = "category", type = {CodeableConcept.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Clinical, administrative, etc.", formalDefinition="Allows an alert to be divided into different categories like clinical, administrative etc." )
protected CodeableConcept category;
/**
* Supports basic workflow.
*/
@Child(name="status", type={CodeType.class}, order=2, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="active | inactive | entered-in-error", formalDefinition="Supports basic workflow." )
protected Enumeration<AlertStatus> status;
/**
* The person who this alert concerns.
*/
@Child(name="subject", type={Patient.class}, order=3, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="Who is alert about?", formalDefinition="The person who this alert concerns." )
protected Reference subject;
@ -167,7 +167,7 @@ public class Alert extends DomainResource {
/**
* The person or device that created the alert.
*/
@Child(name="author", type={Practitioner.class, Patient.class, Device.class}, order=4, min=0, max=1)
@Child(name = "author", type = {Practitioner.class, Patient.class, Device.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Alert creator", formalDefinition="The person or device that created the alert." )
protected Reference author;
@ -179,17 +179,17 @@ public class Alert extends DomainResource {
/**
* The coded value or textual component of the alert to display to the user.
*/
@Child(name="note", type={CodeableConcept.class}, order=5, min=1, max=1)
@Description(shortDefinition="Partially deaf, Requires easy open caps, No permanent address, etc.", formalDefinition="The coded value or textual component of the alert to display to the user." )
@Child(name = "note", type = {CodeableConcept.class}, order = 5, min = 1, max = 1)
@Description(shortDefinition = "Partially deaf, Requires easy open caps, No permanent address, etc.", formalDefinition = "The coded value or textual component of the alert to display to the user.")
protected CodeableConcept note;
private static final long serialVersionUID = -1519932996L;
private static final long serialVersionUID = -1519932996L;
public Alert() {
super();
}
public Alert(Enumeration<AlertStatus> status, Reference subject, CodeableConcept note) {
public Alert(Enumeration<AlertStatus> status, Reference subject, CodeableConcept note) {
super();
this.status = status;
this.subject = subject;
@ -467,7 +467,7 @@ public class Alert extends DomainResource {
@SearchParamDefinition(name="subject", path="Alert.subject", description="The identity of a subject to list alerts for", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="Alert.subject", description="The identity of a subject to list alerts for", type="reference" )
@SearchParamDefinition(name = "patient", path = "Alert.subject", description = "The identity of a subject to list alerts for", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -1049,21 +1049,21 @@ public class AllergyIntolerance extends DomainResource {
/**
* This records identifiers associated with this allergy/intolerance concern that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this item", formalDefinition="This records identifiers associated with this allergy/intolerance concern that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* Date when the sensitivity was recorded.
*/
@Child(name="recordedDate", type={DateTimeType.class}, order=1, min=0, max=1)
@Child(name = "recordedDate", type = {DateTimeType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="When recorded", formalDefinition="Date when the sensitivity was recorded." )
protected DateTimeType recordedDate;
/**
* Indicates who has responsibility for the record.
*/
@Child(name="recorder", type={Practitioner.class, Patient.class}, order=2, min=0, max=1)
@Child(name = "recorder", type = {Practitioner.class, Patient.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Who recorded the sensitivity", formalDefinition="Indicates who has responsibility for the record." )
protected Reference recorder;
@ -1075,7 +1075,7 @@ public class AllergyIntolerance extends DomainResource {
/**
* The patient who has the allergy or intolerance.
*/
@Child(name="subject", type={Patient.class}, order=3, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="Who the sensitivity is for", formalDefinition="The patient who has the allergy or intolerance." )
protected Reference subject;
@ -1087,56 +1087,56 @@ public class AllergyIntolerance extends DomainResource {
/**
* Identification of a substance, or a class of substances, that is considered to be responsible for the Adverse reaction risk.
*/
@Child(name="substance", type={CodeableConcept.class}, order=4, min=1, max=1)
@Child(name = "substance", type = {CodeableConcept.class}, order = 4, min = 1, max = 1)
@Description(shortDefinition="Substance, (or class) considered to be responsible for risk", formalDefinition="Identification of a substance, or a class of substances, that is considered to be responsible for the Adverse reaction risk." )
protected CodeableConcept substance;
/**
* Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified Substance.
*/
@Child(name="status", type={CodeType.class}, order=5, min=0, max=1)
@Child(name = "status", type = {CodeType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="unconfirmed | confirmed | resolved | refuted", formalDefinition="Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified Substance." )
protected Enumeration<AllergyIntoleranceStatus> status;
/**
* Estimate of the potential clinical harm, or seriousness, of the reaction to the identified Substance.
*/
@Child(name="criticality", type={CodeType.class}, order=6, min=0, max=1)
@Child(name = "criticality", type = {CodeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="low | high | unassessible - Estimated potential clinical harm", formalDefinition="Estimate of the potential clinical harm, or seriousness, of the reaction to the identified Substance." )
protected Enumeration<AllergyIntoleranceCriticality> criticality;
/**
* Identification of the underlying physiological mechanism for the Reaction Risk.
*/
@Child(name="type", type={CodeType.class}, order=7, min=0, max=1)
@Child(name = "type", type = {CodeType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="immune | non-immune - Underlying mechanism (if known)", formalDefinition="Identification of the underlying physiological mechanism for the Reaction Risk." )
protected Enumeration<AllergyIntoleranceType> type;
/**
* Category of the identified Substance.
*/
@Child(name="category", type={CodeType.class}, order=8, min=0, max=1)
@Child(name = "category", type = {CodeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="food | medication | environment - Category of Substance", formalDefinition="Category of the identified Substance." )
protected Enumeration<AllergyIntoleranceCategory> category;
/**
* Represents the date and/or time of the last known occurence of a reaction event.
*/
@Child(name="lastOccurence", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "lastOccurence", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Date(/time) of last known occurence of a reaction", formalDefinition="Represents the date and/or time of the last known occurence of a reaction event." )
protected DateTimeType lastOccurence;
/**
* Additional narrative about the propensity for the Adverse Reaction, not captured in other fields.
*/
@Child(name="comment", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "comment", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Additional text not captured in other fields", formalDefinition="Additional narrative about the propensity for the Adverse Reaction, not captured in other fields." )
protected StringType comment;
/**
* Details about each Adverse Reaction Event linked to exposure to the identified Substance.
*/
@Child(name="event", type={}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "event", type = {}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Adverse Reaction Events linked to exposure to substance", formalDefinition="Details about each Adverse Reaction Event linked to exposure to the identified Substance." )
protected List<AllergyIntoleranceEventComponent> event;
@ -1751,34 +1751,34 @@ public class AllergyIntolerance extends DomainResource {
public static final String SP_SEVERITY = "severity";
@SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate", description="When recorded", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier", description="External Ids for this item", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="manifestation", path="AllergyIntolerance.event.manifestation", description="Clinical symptoms/signs associated with the Event", type="token" )
public static final String SP_MANIFESTATION = "manifestation";
@SearchParamDefinition(name="recorder", path="AllergyIntolerance.recorder", description="Who recorded the sensitivity", type="reference" )
public static final String SP_RECORDER = "recorder";
@SearchParamDefinition(name="subject", path="AllergyIntolerance.subject", description="Who the sensitivity is for", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name = "identifier", path = "AllergyIntolerance.identifier", description = "External Ids for this item", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "manifestation", path = "AllergyIntolerance.event.manifestation", description = "Clinical symptoms/signs associated with the Event", type = "token")
public static final String SP_MANIFESTATION = "manifestation";
@SearchParamDefinition(name = "recorder", path = "AllergyIntolerance.recorder", description = "Who recorded the sensitivity", type = "reference")
public static final String SP_RECORDER = "recorder";
@SearchParamDefinition(name = "subject", path = "AllergyIntolerance.subject", description = "Who the sensitivity is for", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="substance", path="AllergyIntolerance.substance|AllergyIntolerance.event.substance", description="Substance, (or class) considered to be responsible for risk", type="token" )
public static final String SP_SUBSTANCE = "substance";
@SearchParamDefinition(name="criticality", path="AllergyIntolerance.criticality", description="low | high | unassessible - Estimated potential clinical harm", type="token" )
public static final String SP_CRITICALITY = "criticality";
@SearchParamDefinition(name="type", path="AllergyIntolerance.type", description="immune | non-immune - Underlying mechanism (if known)", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="onset", path="AllergyIntolerance.event.onset", description="Date(/time) when manifestations showed", type="date" )
public static final String SP_ONSET = "onset";
@SearchParamDefinition(name = "type", path = "AllergyIntolerance.type", description = "immune | non-immune - Underlying mechanism (if known)", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "onset", path = "AllergyIntolerance.event.onset", description = "Date(/time) when manifestations showed", type = "date")
public static final String SP_ONSET = "onset";
@SearchParamDefinition(name="duration", path="AllergyIntolerance.event.duration", description="How long Manifestations persisted", type="quantity" )
public static final String SP_DURATION = "duration";
@SearchParamDefinition(name="route", path="AllergyIntolerance.event.exposureRoute", description="How the subject was exposed to the substance", type="token" )
public static final String SP_ROUTE = "route";
@SearchParamDefinition(name="patient", path="AllergyIntolerance.subject", description="Who the sensitivity is for", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="category", path="AllergyIntolerance.category", description="food | medication | environment - Category of Substance", type="token" )
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name="last-date", path="AllergyIntolerance.lastOccurence", description="Date(/time) of last known occurence of a reaction", type="date" )
public static final String SP_LASTDATE = "last-date";
@SearchParamDefinition(name="status", path="AllergyIntolerance.status", description="unconfirmed | confirmed | resolved | refuted", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "patient", path = "AllergyIntolerance.subject", description = "Who the sensitivity is for", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "category", path = "AllergyIntolerance.category", description = "food | medication | environment - Category of Substance", type = "token")
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name = "last-date", path = "AllergyIntolerance.lastOccurence", description = "Date(/time) of last known occurence of a reaction", type = "date")
public static final String SP_LASTDATE = "last-date";
@SearchParamDefinition(name = "status", path = "AllergyIntolerance.status", description = "unconfirmed | confirmed | resolved | refuted", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -649,63 +649,63 @@ public class Appointment extends DomainResource {
/**
* This records identifiers associated with this appointment concern that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this item", formalDefinition="This records identifiers associated with this appointment concern that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* 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) (Need to change back to CodeableConcept).
*/
@Child(name="priority", type={IntegerType.class}, order=1, min=0, max=1)
@Child(name = "priority", type = {IntegerType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="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) (Need to change back to CodeableConcept)", 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) (Need to change back to CodeableConcept)." )
protected IntegerType priority;
/**
* 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.
*/
@Child(name="status", type={CodeType.class}, order=2, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="pending | booked | arrived | fulfilled | cancelled | noshow", formalDefinition="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." )
protected Enumeration<Appointmentstatus> status;
/**
* The type of appointments that is being booked (ideally this would be an identifiable service - which is at a location, rather than the location itself).
*/
@Child(name="type", type={CodeableConcept.class}, order=3, min=0, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="The type of appointments that is being booked (ideally this would be an identifiable service - which is at a location, rather than the location itself)", formalDefinition="The type of appointments that is being booked (ideally this would be an identifiable service - which is at a location, rather than the location itself)." )
protected CodeableConcept type;
/**
* The reason that this appointment is being scheduled, this is more clinical than administrative.
*/
@Child(name="reason", type={CodeableConcept.class}, order=4, min=0, max=1)
@Child(name = "reason", type = {CodeableConcept.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="The reason that this appointment is being scheduled, this is more clinical than administrative", formalDefinition="The reason that this appointment is being scheduled, this is more clinical than administrative." )
protected CodeableConcept reason;
/**
* 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=5, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="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", 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;
/**
* Date/Time that the appointment is to take place.
*/
@Child(name="start", type={InstantType.class}, order=6, min=1, max=1)
@Child(name = "start", type = {InstantType.class}, order = 6, min = 1, max = 1)
@Description(shortDefinition="Date/Time that the 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=7, min=1, max=1)
@Child(name = "end", type = {InstantType.class}, order = 7, min = 1, max = 1)
@Description(shortDefinition="Date/Time that the appointment is to conclude", formalDefinition="Date/Time that the appointment is to conclude." )
protected InstantType end;
/**
* The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot.
*/
@Child(name="slot", type={Slot.class}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "slot", type = {Slot.class}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot", formalDefinition="The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot." )
protected List<Reference> slot;
/**
@ -717,7 +717,7 @@ public class Appointment extends DomainResource {
/**
* The primary location that this appointment is to take place.
*/
@Child(name="location", type={Location.class}, order=9, min=0, max=1)
@Child(name = "location", type = {Location.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="The primary location that this appointment is to take place", formalDefinition="The primary location that this appointment is to take place." )
protected Reference location;
@ -729,14 +729,14 @@ public class Appointment extends DomainResource {
/**
* Additional comments about the appointment.
*/
@Child(name="comment", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "comment", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Additional comments about the appointment", formalDefinition="Additional comments about the appointment." )
protected StringType comment;
/**
* An Order that lead to the creation of this appointment.
*/
@Child(name="order", type={Order.class}, order=11, min=0, max=1)
@Child(name = "order", type = {Order.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="An Order that lead to the creation of this appointment", formalDefinition="An Order that lead to the creation of this appointment." )
protected Reference order;
@ -748,14 +748,14 @@ public class Appointment extends DomainResource {
/**
* List of participants involved in the appointment.
*/
@Child(name="participant", type={}, order=12, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "participant", type = {}, order = 12, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="List of participants involved in the appointment", formalDefinition="List of participants involved in the appointment." )
protected List<AppointmentParticipantComponent> participant;
/**
* Who recorded the appointment.
*/
@Child(name="lastModifiedBy", type={Practitioner.class, Patient.class, RelatedPerson.class}, order=13, min=0, max=1)
@Child(name = "lastModifiedBy", type = {Practitioner.class, Patient.class, RelatedPerson.class}, order = 13, min = 0, max = 1)
@Description(shortDefinition="Who recorded the appointment", formalDefinition="Who recorded the appointment." )
protected Reference lastModifiedBy;
@ -767,7 +767,7 @@ public class Appointment extends DomainResource {
/**
* Date when the appointment was recorded.
*/
@Child(name="lastModified", type={DateTimeType.class}, order=14, min=0, max=1)
@Child(name = "lastModified", type = {DateTimeType.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Date when the appointment was recorded", formalDefinition="Date when the appointment was recorded." )
protected DateTimeType lastModified;
@ -1494,10 +1494,10 @@ public class Appointment extends DomainResource {
return ResourceType.Appointment;
}
@SearchParamDefinition(name="date", path="Appointment.start", description="Appointment date/time.", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="actor", path="Appointment.participant.actor", description="Any one of the individuals participating in the appointment", type="reference" )
public static final String SP_ACTOR = "actor";
@SearchParamDefinition(name = "date", path = "Appointment.start", description = "Appointment date/time.", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name = "actor", path = "Appointment.participant.actor", description = "Any one of the individuals participating in the appointment", type = "reference")
public static final String SP_ACTOR = "actor";
@SearchParamDefinition(name="partstatus", path="Appointment.participant.status", description="The Participation status of the subject, or other participant on the appointment", type="token" )
public static final String SP_PARTSTATUS = "partstatus";
@SearchParamDefinition(name="patient", path="Appointment.participant.actor", description="One of the individuals of the appointment is this patient", type="reference" )

View File

@ -176,14 +176,14 @@ public class AppointmentResponse extends DomainResource {
/**
* This records identifiers associated with this appointment concern that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this item", formalDefinition="This records identifiers associated with this appointment concern that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* Parent appointment that this response is replying to.
*/
@Child(name="appointment", type={Appointment.class}, order=1, min=1, max=1)
@Child(name = "appointment", type = {Appointment.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Parent appointment that this response is replying to", formalDefinition="Parent appointment that this response is replying to." )
protected Reference appointment;
@ -195,14 +195,14 @@ public class AppointmentResponse extends DomainResource {
/**
* Role of participant in the appointment.
*/
@Child(name="participantType", type={CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "participantType", type = {CodeableConcept.class}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Role of participant in the appointment", formalDefinition="Role of participant in the appointment." )
protected List<CodeableConcept> participantType;
/**
* A Person of device that is participating in the appointment, usually Practitioner, Patient, RelatedPerson or Device.
*/
@Child(name="individual", type={}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "individual", type = {}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="A Person of device that is participating in the appointment, usually Practitioner, Patient, RelatedPerson or Device", formalDefinition="A Person of device that is participating in the appointment, usually Practitioner, Patient, RelatedPerson or Device." )
protected List<Reference> individual;
/**
@ -214,35 +214,35 @@ public class AppointmentResponse extends DomainResource {
/**
* Participation status of the Patient.
*/
@Child(name="participantStatus", type={CodeType.class}, order=4, min=1, max=1)
@Child(name = "participantStatus", type = {CodeType.class}, order = 4, min = 1, max = 1)
@Description(shortDefinition="accepted | declined | tentative | in-process | completed | needs-action", formalDefinition="Participation status of the Patient." )
protected Enumeration<Participantstatus> participantStatus;
/**
* Additional comments about the appointment.
*/
@Child(name="comment", type={StringType.class}, order=5, min=0, max=1)
@Child(name = "comment", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Additional comments about the appointment", formalDefinition="Additional comments about the appointment." )
protected StringType comment;
/**
* Date/Time that the appointment is to take place.
*/
@Child(name="start", type={InstantType.class}, order=6, min=0, max=1)
@Child(name = "start", type = {InstantType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Date/Time that the 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=7, min=0, max=1)
@Child(name = "end", type = {InstantType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Date/Time that the appointment is to conclude", formalDefinition="Date/Time that the appointment is to conclude." )
protected InstantType end;
/**
* Who recorded the appointment response.
*/
@Child(name="lastModifiedBy", type={Practitioner.class, Patient.class, RelatedPerson.class}, order=8, min=0, max=1)
@Child(name = "lastModifiedBy", type = {Practitioner.class, Patient.class, RelatedPerson.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Who recorded the appointment response", formalDefinition="Who recorded the appointment response." )
protected Reference lastModifiedBy;
@ -254,7 +254,7 @@ public class AppointmentResponse extends DomainResource {
/**
* Date when the response was recorded or last updated.
*/
@Child(name="lastModified", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "lastModified", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Date when the response was recorded or last updated", formalDefinition="Date when the response was recorded or last updated." )
protected DateTimeType lastModified;

View File

@ -41,54 +41,54 @@ import org.hl7.fhir.instance.model.annotations.DatatypeDef;
* For referring to data content defined in other formats.
*/
@DatatypeDef(name="Attachment")
public class Attachment extends Type implements ICompositeType {
public class Attachment extends Type implements ICompositeType {
/**
* Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.
*/
@Child(name="contentType", type={CodeType.class}, order=0, min=0, max=1)
@Child(name = "contentType", type = {CodeType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Mime type of the content, with charset etc.", formalDefinition="Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate." )
protected CodeType contentType;
/**
* The human language of the content. The value can be any valid value according to BCP 47.
*/
@Child(name="language", type={CodeType.class}, order=1, min=0, max=1)
@Child(name = "language", type = {CodeType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Human language of the content (BCP-47)", formalDefinition="The human language of the content. The value can be any valid value according to BCP 47." )
protected CodeType language;
/**
* The actual data of the attachment - a sequence of bytes. In XML, represented using base64.
*/
@Child(name="data", type={Base64BinaryType.class}, order=2, min=0, max=1)
@Child(name = "data", type = {Base64BinaryType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Data inline, base64ed", formalDefinition="The actual data of the attachment - a sequence of bytes. In XML, represented using base64." )
protected Base64BinaryType data;
/**
* An alternative location where the data can be accessed.
*/
@Child(name="url", type={UriType.class}, order=3, min=0, max=1)
@Child(name = "url", type = {UriType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Uri where the data can be found", formalDefinition="An alternative location where the data can be accessed." )
protected UriType url;
/**
* The number of bytes of data that make up this attachment.
*/
@Child(name="size", type={IntegerType.class}, order=4, min=0, max=1)
@Child(name = "size", type = {IntegerType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Number of bytes of content (if url provided)", formalDefinition="The number of bytes of data that make up this attachment." )
protected IntegerType size;
/**
* The calculated hash of the data using SHA-1. Represented using base64.
*/
@Child(name="hash", type={Base64BinaryType.class}, order=5, min=0, max=1)
@Child(name = "hash", type = {Base64BinaryType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Hash of the data (sha-1, base64ed )", formalDefinition="The calculated hash of the data using SHA-1. Represented using base64." )
protected Base64BinaryType hash;
/**
* A label or set of text to display in place of the data.
*/
@Child(name="title", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "title", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Label to display in place of the data", formalDefinition="A label or set of text to display in place of the data." )
protected StringType title;

View File

@ -48,7 +48,7 @@ public abstract class BackboneElement extends Element implements IBackboneElemen
/**
* May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
*/
@Child(name="modifierExtension", type={Extension.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "modifierExtension", type = {Extension.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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." )
protected List<Extension> modifierExtension;

View File

@ -47,21 +47,21 @@ public class Basic extends DomainResource {
/**
* Identifier assigned to the resource for business purposes, outside the context of FHIR.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business identifier", formalDefinition="Identifier assigned to the resource for business purposes, outside the context of FHIR." )
protected List<Identifier> identifier;
/**
* Identifies the 'type' of resource - equivalent to the resource name for other resources.
*/
@Child(name="code", type={CodeableConcept.class}, order=1, min=1, max=1)
@Child(name = "code", type = {CodeableConcept.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Kind of Resource", formalDefinition="Identifies the 'type' of resource - equivalent to the resource name for other resources." )
protected CodeableConcept code;
/**
* Identifies the patient, practitioner, device or any other resource that is the "focus" of this resoruce.
*/
@Child(name="subject", type={}, order=2, min=0, max=1)
@Child(name = "subject", type = {}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Identifies the", formalDefinition="Identifies the patient, practitioner, device or any other resource that is the 'focus' of this resoruce." )
protected Reference subject;
@ -73,7 +73,7 @@ public class Basic extends DomainResource {
/**
* Indicates who was responsible for creating the resource instance.
*/
@Child(name="author", type={Practitioner.class, Patient.class, RelatedPerson.class}, order=3, min=0, max=1)
@Child(name = "author", type = {Practitioner.class, Patient.class, RelatedPerson.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Who created", formalDefinition="Indicates who was responsible for creating the resource instance." )
protected Reference author;
@ -85,7 +85,7 @@ public class Basic extends DomainResource {
/**
* Identifies when the resource was first created.
*/
@Child(name="created", type={DateType.class}, order=4, min=0, max=1)
@Child(name = "created", type = {DateType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="When created", formalDefinition="Identifies when the resource was first created." )
protected DateType created;
@ -343,12 +343,12 @@ public class Basic extends DomainResource {
@SearchParamDefinition(name="code", path="Basic.code", description="Kind of Resource", type="token" )
public static final String SP_CODE = "code";
@SearchParamDefinition(name="subject", path="Basic.subject", description="Identifies the", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="created", path="Basic.created", description="When created", type="date" )
public static final String SP_CREATED = "created";
@SearchParamDefinition(name="patient", path="Basic.subject", description="Identifies the", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "subject", path = "Basic.subject", description = "Identifies the", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name = "created", path = "Basic.created", description = "When created", type = "date")
public static final String SP_CREATED = "created";
@SearchParamDefinition(name = "patient", path = "Basic.subject", description = "Identifies the", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -48,14 +48,14 @@ public class Binary extends Resource {
/**
* MimeType of the binary content represented as a standard MimeType (BCP 13).
*/
@Child(name="contentType", type={CodeType.class}, order=0, min=1, max=1)
@Child(name = "contentType", type = {CodeType.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="MimeType of the binary content", formalDefinition="MimeType of the binary content represented as a standard MimeType (BCP 13)." )
protected CodeType contentType;
/**
* The actual content, base64 encoded.
*/
@Child(name="content", type={Base64BinaryType.class}, order=1, min=1, max=1)
@Child(name = "content", type = {Base64BinaryType.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="The actual content", formalDefinition="The actual content, base64 encoded." )
protected Base64BinaryType content;

View File

@ -393,35 +393,35 @@ public class BodySite extends DomainResource {
/**
* Identifier for this instance of the anatomical location.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Bodysite identifier", formalDefinition="Identifier for this instance of the anatomical location." )
protected List<Identifier> identifier;
/**
* The Specific and identified anatomical location.
*/
@Child(name="specificLocation", type={}, order=1, min=0, max=1)
@Child(name = "specificLocation", type = {}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Specific anatomical location", formalDefinition="The Specific and identified anatomical location." )
protected BodySiteSpecificLocationComponent specificLocation;
/**
* Qualifiers to identify non-specific location eg 5cm (distance) inferior (aspect) to the tibial tuberosity (landmark). There may be more than one relative location required to provide a cross reference.
*/
@Child(name="relativeLocation", type={}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "relativeLocation", type = {}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Relative anatomical location(s)", formalDefinition="Qualifiers to identify non-specific location eg 5cm (distance) inferior (aspect) to the tibial tuberosity (landmark). There may be more than one relative location required to provide a cross reference." )
protected List<BodySiteRelativeLocationComponent> relativeLocation;
/**
* Description of anatomical location.
*/
@Child(name="description", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="The Description of anatomical location", formalDefinition="Description of anatomical location." )
protected StringType description;
/**
* Image or images used to identify a location.
*/
@Child(name="image", type={Attachment.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "image", type = {Attachment.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Attached images", formalDefinition="Image or images used to identify a location." )
protected List<Attachment> image;

View File

@ -947,7 +947,7 @@ public class Bundle extends Resource implements IBaseBundle {
/**
* Only perform the operation if the last updated date matches. For more information, see the API section "Managing Resource Contention".
*/
@Child(name="ifModifiedSince", type={InstantType.class}, order=5, min=0, max=1)
@Child(name = "ifModifiedSince", type = {InstantType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="For managing update contention", formalDefinition="Only perform the operation if the last updated date matches. For more information, see the API section 'Managing Resource Contention'." )
protected InstantType ifModifiedSince;
@ -1166,7 +1166,7 @@ public class Bundle extends Resource implements IBaseBundle {
if (Configuration.errorOnAutoCreate())
throw new Error("Attempt to auto-create BundleEntryTransactionComponent.ifModifiedSince");
else if (Configuration.doAutoCreate())
this.ifModifiedSince = new InstantType(); // bb
this.ifModifiedSince = new InstantType(); // bb
return this.ifModifiedSince;
}
@ -1196,12 +1196,12 @@ public class Bundle extends Resource implements IBaseBundle {
/**
* @param value Only perform the operation if the last updated date matches. For more information, see the API section "Managing Resource Contention".
*/
public BundleEntryTransactionComponent setIfModifiedSince(Date value) {
if (value == null)
public BundleEntryTransactionComponent setIfModifiedSince(Date value) {
if (value == null)
this.ifModifiedSince = null;
else {
if (this.ifModifiedSince == null)
this.ifModifiedSince = new InstantType();
this.ifModifiedSince = new InstantType();
this.ifModifiedSince.setValue(value);
}
return this;
@ -1262,7 +1262,7 @@ public class Bundle extends Resource implements IBaseBundle {
childrenList.add(new Property("url", "uri", "A search URL for this resource that specifies how the resource is matched to an existing resource when processing a transaction (see transaction documentation).", 0, java.lang.Integer.MAX_VALUE, url));
childrenList.add(new Property("ifNoneMatch", "string", "If the ETag values match, return a 304 Not modified status. See the read/vread interaction documentation.", 0, java.lang.Integer.MAX_VALUE, ifNoneMatch));
childrenList.add(new Property("ifMatch", "string", "Only perform the operation if the Etag value matches. For more information, see the API section 'Managing Resource Contention'.", 0, java.lang.Integer.MAX_VALUE, ifMatch));
childrenList.add(new Property("ifModifiedSince", "instant", "Only perform the operation if the last updated date matches. For more information, see the API section 'Managing Resource Contention'.", 0, java.lang.Integer.MAX_VALUE, ifModifiedSince));
childrenList.add(new Property("ifModifiedSince", "instant", "Only perform the operation if the last updated date matches. For more information, see the API section 'Managing Resource Contention'.", 0, java.lang.Integer.MAX_VALUE, ifModifiedSince));
childrenList.add(new Property("ifNoneExist", "string", "Instruct the server not to perform the create if a specified resource already exists. For further information, see 'Conditional Create'.", 0, java.lang.Integer.MAX_VALUE, ifNoneExist));
}
@ -1330,15 +1330,15 @@ public class Bundle extends Resource implements IBaseBundle {
/**
* The etag for the resource, it the operation for the entry produced a versioned resource.
*/
@Child(name="etag", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "etag", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="The etag for the resource (if relevant)", formalDefinition="The etag for the resource, it the operation for the entry produced a versioned resource." )
protected StringType etag;
/**
* The date/time that the resource was modified on the server.
*/
@Child(name="lastModified", type={InstantType.class}, order=4, min=0, max=1)
@Description(shortDefinition="Server's date time modified", formalDefinition="The date/time that the resource was modified on the server." )
@Child(name = "lastModified", type = {InstantType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition = "Server's date time modified", formalDefinition = "The date/time that the resource was modified on the server.")
protected InstantType lastModified;
private static final long serialVersionUID = -1526413234L;
@ -1451,97 +1451,97 @@ public class Bundle extends Resource implements IBaseBundle {
*/
public StringType getEtagElement() {
if (this.etag == null)
if (Configuration.errorOnAutoCreate())
throw new Error("Attempt to auto-create BundleEntryTransactionResponseComponent.etag");
else if (Configuration.doAutoCreate())
this.etag = new StringType(); // bb
if (Configuration.errorOnAutoCreate())
throw new Error("Attempt to auto-create BundleEntryTransactionResponseComponent.etag");
else if (Configuration.doAutoCreate())
this.etag = new StringType(); // bb
return this.etag;
}
public boolean hasEtagElement() {
return this.etag != null && !this.etag.isEmpty();
public boolean hasEtagElement() {
return this.etag != null && !this.etag.isEmpty();
}
public boolean hasEtag() {
return this.etag != null && !this.etag.isEmpty();
public boolean hasEtag() {
return this.etag != null && !this.etag.isEmpty();
}
/**
* @param value {@link #etag} (The etag for the resource, it the operation for the entry produced a versioned resource.). This is the underlying object with id, value and extensions. The accessor "getEtag" gives direct access to the value
*/
public BundleEntryTransactionResponseComponent setEtagElement(StringType value) {
this.etag = value;
return this;
public BundleEntryTransactionResponseComponent setEtagElement(StringType value) {
this.etag = value;
return this;
}
/**
* @return The etag for the resource, it the operation for the entry produced a versioned resource.
*/
public String getEtag() {
return this.etag == null ? null : this.etag.getValue();
public String getEtag() {
return this.etag == null ? null : this.etag.getValue();
}
/**
* @param value The etag for the resource, it the operation for the entry produced a versioned resource.
*/
public BundleEntryTransactionResponseComponent setEtag(String value) {
if (Utilities.noString(value))
this.etag = null;
else {
if (this.etag == null)
this.etag = new StringType();
this.etag.setValue(value);
}
public BundleEntryTransactionResponseComponent setEtag(String value) {
if (Utilities.noString(value))
this.etag = null;
else {
if (this.etag == null)
this.etag = new StringType();
this.etag.setValue(value);
}
return this;
}
/**
* @return {@link #lastModified} (The date/time that the resource was modified on the server.). This is the underlying object with id, value and extensions. The accessor "getLastModified" gives direct access to the value
*/
public InstantType getLastModifiedElement() {
if (this.lastModified == null)
if (Configuration.errorOnAutoCreate())
throw new Error("Attempt to auto-create BundleEntryTransactionResponseComponent.lastModified");
else if (Configuration.doAutoCreate())
this.lastModified = new InstantType(); // bb
return this.lastModified;
public InstantType getLastModifiedElement() {
if (this.lastModified == null)
if (Configuration.errorOnAutoCreate())
throw new Error("Attempt to auto-create BundleEntryTransactionResponseComponent.lastModified");
else if (Configuration.doAutoCreate())
this.lastModified = new InstantType(); // bb
return this.lastModified;
}
public boolean hasLastModifiedElement() {
return this.lastModified != null && !this.lastModified.isEmpty();
public boolean hasLastModifiedElement() {
return this.lastModified != null && !this.lastModified.isEmpty();
}
public boolean hasLastModified() {
return this.lastModified != null && !this.lastModified.isEmpty();
public boolean hasLastModified() {
return this.lastModified != null && !this.lastModified.isEmpty();
}
/**
* @param value {@link #lastModified} (The date/time that the resource was modified on the server.). This is the underlying object with id, value and extensions. The accessor "getLastModified" gives direct access to the value
*/
public BundleEntryTransactionResponseComponent setLastModifiedElement(InstantType value) {
this.lastModified = value;
return this;
public BundleEntryTransactionResponseComponent setLastModifiedElement(InstantType value) {
this.lastModified = value;
return this;
}
/**
* @return The date/time that the resource was modified on the server.
*/
public Date getLastModified() {
return this.lastModified == null ? null : this.lastModified.getValue();
public Date getLastModified() {
return this.lastModified == null ? null : this.lastModified.getValue();
}
/**
* @param value The date/time that the resource was modified on the server.
*/
public BundleEntryTransactionResponseComponent setLastModified(Date value) {
if (value == null)
this.lastModified = null;
else {
if (this.lastModified == null)
this.lastModified = new InstantType();
this.lastModified.setValue(value);
}
return this;
public BundleEntryTransactionResponseComponent setLastModified(Date value) {
if (value == null)
this.lastModified = null;
else {
if (this.lastModified == null)
this.lastModified = new InstantType();
this.lastModified.setValue(value);
}
return this;
}
protected void listChildren(List<Property> childrenList) {
@ -1549,7 +1549,7 @@ public class Bundle extends Resource implements IBaseBundle {
childrenList.add(new Property("status", "string", "The status code returned by processing this entry.", 0, java.lang.Integer.MAX_VALUE, status));
childrenList.add(new Property("location", "uri", "The location header created by processing this operation.", 0, java.lang.Integer.MAX_VALUE, location));
childrenList.add(new Property("etag", "string", "The etag for the resource, it the operation for the entry produced a versioned resource.", 0, java.lang.Integer.MAX_VALUE, etag));
childrenList.add(new Property("lastModified", "instant", "The date/time that the resource was modified on the server.", 0, java.lang.Integer.MAX_VALUE, lastModified));
childrenList.add(new Property("lastModified", "instant", "The date/time that the resource was modified on the server.", 0, java.lang.Integer.MAX_VALUE, lastModified));
}
public BundleEntryTransactionResponseComponent copy() {
@ -1557,8 +1557,8 @@ public class Bundle extends Resource implements IBaseBundle {
copyValues(dst);
dst.status = status == null ? null : status.copy();
dst.location = location == null ? null : location.copy();
dst.etag = etag == null ? null : etag.copy();
dst.lastModified = lastModified == null ? null : lastModified.copy();
dst.etag = etag == null ? null : etag.copy();
dst.lastModified = lastModified == null ? null : lastModified.copy();
return dst;
}
@ -1570,7 +1570,7 @@ public class Bundle extends Resource implements IBaseBundle {
return false;
BundleEntryTransactionResponseComponent o = (BundleEntryTransactionResponseComponent) other;
return compareDeep(status, o.status, true) && compareDeep(location, o.location, true) && compareDeep(etag, o.etag, true)
&& compareDeep(lastModified, o.lastModified, true);
&& compareDeep(lastModified, o.lastModified, true);
}
@Override
@ -1581,12 +1581,12 @@ public class Bundle extends Resource implements IBaseBundle {
return false;
BundleEntryTransactionResponseComponent o = (BundleEntryTransactionResponseComponent) other;
return compareValues(status, o.status, true) && compareValues(location, o.location, true) && compareValues(etag, o.etag, true)
&& compareValues(lastModified, o.lastModified, true);
&& compareValues(lastModified, o.lastModified, true);
}
public boolean isEmpty() {
return super.isEmpty() && (status == null || status.isEmpty()) && (location == null || location.isEmpty())
&& (etag == null || etag.isEmpty()) && (lastModified == null || lastModified.isEmpty());
&& (etag == null || etag.isEmpty()) && (lastModified == null || lastModified.isEmpty());
}
}
@ -1594,42 +1594,42 @@ public class Bundle extends Resource implements IBaseBundle {
/**
* Indicates the purpose of this bundle- how it was intended to be used.
*/
@Child(name="type", type={CodeType.class}, order=0, min=1, max=1)
@Child(name = "type", type = {CodeType.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="document | message | transaction | transaction-response | history | searchset | collection", formalDefinition="Indicates the purpose of this bundle- how it was intended to be used." )
protected Enumeration<BundleType> type;
/**
* The base URL for the service that provided these resources. All relative URLs are relative to this one (equivalent to xml:base).
*/
@Child(name="base", type={UriType.class}, order=1, min=0, max=1)
@Child(name = "base", type = {UriType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Stated Base URL", formalDefinition="The base URL for the service that provided these resources. All relative URLs are relative to this one (equivalent to xml:base)." )
protected UriType base;
/**
* If a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle).
*/
@Child(name="total", type={IntegerType.class}, order=2, min=0, max=1)
@Child(name = "total", type = {IntegerType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="If search, the total number of matches", formalDefinition="If a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle)." )
protected IntegerType total;
/**
* A series of links that provide context to this bundle.
*/
@Child(name="link", type={}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "link", type = {}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Links related to this Bundle", formalDefinition="A series of links that provide context to this bundle." )
protected List<BundleLinkComponent> link;
/**
* An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only).
*/
@Child(name="entry", type={}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "entry", type = {}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Entry in the bundle - will have a resource, or information", formalDefinition="An entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only)." )
protected List<BundleEntryComponent> entry;
/**
* XML Digital Signature - base64 encoded.
*/
@Child(name="signature", type={Base64BinaryType.class}, order=5, min=0, max=1)
@Child(name = "signature", type = {Base64BinaryType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="XML Digital Signature (base64 encoded)", formalDefinition="XML Digital Signature - base64 encoded." )
protected Base64BinaryType signature;
@ -1964,8 +1964,8 @@ public class Bundle extends Resource implements IBaseBundle {
public static final String SP_COMPOSITION = "composition";
@SearchParamDefinition(name="type", path="Bundle.type", description="document | message | transaction | transaction-response | history | searchset | collection", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="message", path="", 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 it's contents", type="reference" )
public static final String SP_MESSAGE = "message";
@SearchParamDefinition(name = "message", path = "", 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 it's contents", type = "reference")
public static final String SP_MESSAGE = "message";
}

View File

@ -1855,14 +1855,14 @@ public class CarePlan extends DomainResource {
/**
* This records identifiers associated with this care plan that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this plan", formalDefinition="This records identifiers associated with this care plan that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* Identifies the patient/subject whose intended care is described by the plan.
*/
@Child(name="patient", type={Patient.class}, order=1, min=0, max=1)
@Child(name = "patient", type = {Patient.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Who care plan is for", formalDefinition="Identifies the patient/subject whose intended care is described by the plan." )
protected Reference patient;
@ -1874,28 +1874,28 @@ public class CarePlan extends DomainResource {
/**
* Indicates whether the plan is currently being acted upon, represents future intentions or is now just historical record.
*/
@Child(name="status", type={CodeType.class}, order=2, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="planned | active | completed", formalDefinition="Indicates whether the plan is currently being acted upon, represents future intentions or is now just historical record." )
protected Enumeration<CarePlanStatus> status;
/**
* Indicates when the plan did (or is intended to) come into effect and end.
*/
@Child(name="period", type={Period.class}, order=3, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Time period plan covers", formalDefinition="Indicates when the plan did (or is intended to) come into effect and end." )
protected Period period;
/**
* Identifies the most recent date on which the plan has been revised.
*/
@Child(name="modified", type={DateTimeType.class}, order=4, min=0, max=1)
@Child(name = "modified", type = {DateTimeType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="When last updated", formalDefinition="Identifies the most recent date on which the plan has been revised." )
protected DateTimeType modified;
/**
* Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.
*/
@Child(name="concern", type={Condition.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "concern", type = {Condition.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Health issues this plan addresses", formalDefinition="Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan." )
protected List<Reference> concern;
/**
@ -1907,28 +1907,28 @@ public class CarePlan extends DomainResource {
/**
* Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.
*/
@Child(name="participant", type={}, order=6, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "participant", type = {}, order = 6, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Who's involved in plan?", formalDefinition="Identifies all people and organizations who are expected to be involved in the care envisioned by this plan." )
protected List<CarePlanParticipantComponent> participant;
/**
* Describes the intended objective(s) of carrying out the Care Plan.
*/
@Child(name="goal", type={}, order=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "goal", type = {}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Desired outcome of plan", formalDefinition="Describes the intended objective(s) of carrying out the Care Plan." )
protected List<CarePlanGoalComponent> goal;
/**
* Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.
*/
@Child(name="activity", type={}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "activity", type = {}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Action to occur as part of plan", formalDefinition="Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc." )
protected List<CarePlanActivityComponent> activity;
/**
* General notes about the care plan not covered elsewhere.
*/
@Child(name="notes", type={StringType.class}, order=9, min=0, max=1)
@Child(name = "notes", type = {StringType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Comments about the plan", formalDefinition="General notes about the care plan not covered elsewhere." )
protected StringType notes;
@ -2416,18 +2416,18 @@ public class CarePlan extends DomainResource {
return ResourceType.CarePlan;
}
@SearchParamDefinition(name="date", path="CarePlan.period", description="Time period plan covers", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name = "date", path = "CarePlan.period", description = "Time period plan covers", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name="activitycode", path="CarePlan.activity.simple.code", description="Detail type of activity", type="token" )
public static final String SP_ACTIVITYCODE = "activitycode";
@SearchParamDefinition(name="activitydate", path="CarePlan.activity.simple.scheduled[x]", description="Specified date occurs within period specified by CarePlan.activity.timingSchedule", type="date" )
public static final String SP_ACTIVITYDATE = "activitydate";
@SearchParamDefinition(name="activitydetail", path="CarePlan.activity.detail", description="Activity details defined in specific resource", type="reference" )
public static final String SP_ACTIVITYDETAIL = "activitydetail";
@SearchParamDefinition(name="condition", path="CarePlan.concern", description="Health issues this plan addresses", type="reference" )
public static final String SP_CONDITION = "condition";
@SearchParamDefinition(name="patient", path="CarePlan.patient", description="Who care plan is for", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "activitydetail", path = "CarePlan.activity.detail", description = "Activity details defined in specific resource", type = "reference")
public static final String SP_ACTIVITYDETAIL = "activitydetail";
@SearchParamDefinition(name = "condition", path = "CarePlan.concern", description = "Health issues this plan addresses", type = "reference")
public static final String SP_CONDITION = "condition";
@SearchParamDefinition(name = "patient", path = "CarePlan.patient", description = "Who care plan is for", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="participant", path="CarePlan.participant.member", description="Who is involved", type="reference" )
public static final String SP_PARTICIPANT = "participant";

View File

@ -270,14 +270,14 @@ public class CarePlan2 extends DomainResource {
/**
* This records identifiers associated with this care plan that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this plan", formalDefinition="This records identifiers associated with this care plan that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* Identifies the patient/subject whose intended care is described by the plan.
*/
@Child(name="patient", type={Patient.class}, order=1, min=0, max=1)
@Child(name = "patient", type = {Patient.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Who care plan is for", formalDefinition="Identifies the patient/subject whose intended care is described by the plan." )
protected Reference patient;
@ -289,28 +289,28 @@ public class CarePlan2 extends DomainResource {
/**
* Indicates whether the plan is currently being acted upon, represents future intentions or is now just historical record.
*/
@Child(name="status", type={CodeType.class}, order=2, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="planned | active | completed", formalDefinition="Indicates whether the plan is currently being acted upon, represents future intentions or is now just historical record." )
protected Enumeration<CarePlan2Status> status;
/**
* Indicates when the plan did (or is intended to) come into effect and end.
*/
@Child(name="period", type={Period.class}, order=3, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Time period plan covers", formalDefinition="Indicates when the plan did (or is intended to) come into effect and end." )
protected Period period;
/**
* Identifies the most recent date on which the plan has been revised.
*/
@Child(name="modified", type={DateTimeType.class}, order=4, min=0, max=1)
@Child(name = "modified", type = {DateTimeType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="When last updated", formalDefinition="Identifies the most recent date on which the plan has been revised." )
protected DateTimeType modified;
/**
* Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.
*/
@Child(name="concern", type={Condition.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "concern", type = {Condition.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Health issues this plan addresses", formalDefinition="Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan." )
protected List<Reference> concern;
/**
@ -322,21 +322,21 @@ public class CarePlan2 extends DomainResource {
/**
* Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.
*/
@Child(name="participant", type={}, order=6, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "participant", type = {}, order = 6, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Who's involved in plan?", formalDefinition="Identifies all people and organizations who are expected to be involved in the care envisioned by this plan." )
protected List<CarePlan2ParticipantComponent> participant;
/**
* General notes about the care plan not covered elsewhere.
*/
@Child(name="notes", type={StringType.class}, order=7, min=0, max=1)
@Child(name = "notes", type = {StringType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Comments about the plan", formalDefinition="General notes about the care plan not covered elsewhere." )
protected StringType notes;
/**
* Describes the intended objective(s) of carrying out the Care Plan.
*/
@Child(name="goal", type={Goal.class}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "goal", type = {Goal.class}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="CarePlan Goal", formalDefinition="Describes the intended objective(s) of carrying out the Care Plan." )
protected List<Reference> goal;
/**
@ -348,7 +348,7 @@ public class CarePlan2 extends DomainResource {
/**
* Identifies an action that is planned to happen as part of the careplan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.
*/
@Child(name="activity", type={ProcedureRequest.class, MedicationPrescription.class, DiagnosticOrder.class, ReferralRequest.class, CommunicationRequest.class, NutritionOrder.class}, order=9, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "activity", type = {ProcedureRequest.class, MedicationPrescription.class, DiagnosticOrder.class, ReferralRequest.class, CommunicationRequest.class, NutritionOrder.class}, order = 9, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="CarePlan Activity", formalDefinition="Identifies an action that is planned to happen as part of the careplan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc." )
protected List<Reference> activity;
/**
@ -871,11 +871,11 @@ public class CarePlan2 extends DomainResource {
return ResourceType.CarePlan2;
}
@SearchParamDefinition(name="date", path="CarePlan2.period", description="Time period plan covers", type="date" )
@SearchParamDefinition(name = "date", path = "CarePlan2.period", description = "Time period plan covers", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name="condition", path="CarePlan2.concern", description="Health issues this plan addresses", type="reference" )
public static final String SP_CONDITION = "condition";
@SearchParamDefinition(name="patient", path="CarePlan2.patient", description="Who care plan is for", type="reference" )
@SearchParamDefinition(name = "patient", path = "CarePlan2.patient", description = "Who care plan is for", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="participant", path="CarePlan2.participant.member", description="Who is involved", type="reference" )
public static final String SP_PARTICIPANT = "participant";

View File

@ -2536,14 +2536,14 @@ public class ClaimResponse extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Response number", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* Original request resource referrence.
*/
@Child(name="request", type={OralHealthClaim.class, PharmacyClaim.class, VisionClaim.class, ProfessionalClaim.class, InstitutionalClaim.class}, order=1, min=0, max=1)
@Child(name = "request", type = {OralHealthClaim.class, PharmacyClaim.class, VisionClaim.class, ProfessionalClaim.class, InstitutionalClaim.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Id of resource triggering adjudication", formalDefinition="Original request resource referrence." )
protected Reference request;
@ -2555,28 +2555,28 @@ public class ClaimResponse extends DomainResource {
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=2, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=3, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when the enclosed suite of services were performed or completed.
*/
@Child(name="created", type={DateTimeType.class}, order=4, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when the enclosed suite of services were performed or completed." )
protected DateTimeType created;
/**
* The Insurer who produced this adjudicated response.
*/
@Child(name="organization", type={Organization.class}, order=5, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who produced this adjudicated response." )
protected Reference organization;
@ -2588,7 +2588,7 @@ public class ClaimResponse extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="requestProvider", type={Practitioner.class}, order=6, min=0, max=1)
@Child(name = "requestProvider", type = {Practitioner.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference requestProvider;
@ -2600,7 +2600,7 @@ public class ClaimResponse extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="requestOrganization", type={Organization.class}, order=7, min=0, max=1)
@Child(name = "requestOrganization", type = {Organization.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference requestOrganization;
@ -2612,119 +2612,119 @@ public class ClaimResponse extends DomainResource {
/**
* Transaction status: error, complete.
*/
@Child(name="outcome", type={CodeType.class}, order=8, min=0, max=1)
@Child(name = "outcome", type = {CodeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="complete | error", formalDefinition="Transaction status: error, complete." )
protected Enumeration<RSLink> outcome;
/**
* A description of the status of the adjudication.
*/
@Child(name="disposition", type={StringType.class}, order=9, min=0, max=1)
@Child(name = "disposition", type = {StringType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Disposition Message", formalDefinition="A description of the status of the adjudication." )
protected StringType disposition;
/**
* Party to be reimbursed: Subscriber, provider, other.
*/
@Child(name="payeeType", type={Coding.class}, order=10, min=0, max=1)
@Child(name = "payeeType", type = {Coding.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Party to be paid any benefits payable", formalDefinition="Party to be reimbursed: Subscriber, provider, other." )
protected Coding payeeType;
/**
* The first tier service adjudications for submitted services.
*/
@Child(name="item", type={}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "item", type = {}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Line items", formalDefinition="The first tier service adjudications for submitted services." )
protected List<ItemsComponent> item;
/**
* The first tier service adjudications for payor added services.
*/
@Child(name="additem", type={}, order=12, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "additem", type = {}, order = 12, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Insurer added line items", formalDefinition="The first tier service adjudications for payor added services." )
protected List<AddedItemComponent> additem;
/**
* Mutually exclusive with Services Provided (Item).
*/
@Child(name="error", type={}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "error", type = {}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Processing errors", formalDefinition="Mutually exclusive with Services Provided (Item)." )
protected List<ErrorsComponent> error;
/**
* The total cost of the services reported.
*/
@Child(name="totalCost", type={Money.class}, order=14, min=0, max=1)
@Child(name = "totalCost", type = {Money.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Total Cost of service from the Claim", formalDefinition="The total cost of the services reported." )
protected Money totalCost;
/**
* The amount of deductable applied which was not allocated to any particular service line.
*/
@Child(name="unallocDeductable", type={Money.class}, order=15, min=0, max=1)
@Child(name = "unallocDeductable", type = {Money.class}, order = 15, min = 0, max = 1)
@Description(shortDefinition="Unallocated deductable", formalDefinition="The amount of deductable applied which was not allocated to any particular service line." )
protected Money unallocDeductable;
/**
* Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductable).
*/
@Child(name="totalBenefit", type={Money.class}, order=16, min=0, max=1)
@Child(name = "totalBenefit", type = {Money.class}, order = 16, min = 0, max = 1)
@Description(shortDefinition="Total benefit payable for the Claim", formalDefinition="Total amount of benefit payable (Equal to sum of the Benefit amounts from all detail lines and additions less the Unallocated Deductable)." )
protected Money totalBenefit;
/**
* Adjustment to the payment of this transaction which is not related to adjudication of this transaction.
*/
@Child(name="paymentAdjustment", type={Money.class}, order=17, min=0, max=1)
@Child(name = "paymentAdjustment", type = {Money.class}, order = 17, min = 0, max = 1)
@Description(shortDefinition="Payment adjustment for non-Claim issues", formalDefinition="Adjustment to the payment of this transaction which is not related to adjudication of this transaction." )
protected Money paymentAdjustment;
/**
* Reason for the payment adjustment.
*/
@Child(name="paymentAdjustmentReason", type={Coding.class}, order=18, min=0, max=1)
@Child(name = "paymentAdjustmentReason", type = {Coding.class}, order = 18, min = 0, max = 1)
@Description(shortDefinition="Reason for Payment adjustment", formalDefinition="Reason for the payment adjustment." )
protected Coding paymentAdjustmentReason;
/**
* Estimated payment data.
*/
@Child(name="paymentDate", type={DateType.class}, order=19, min=0, max=1)
@Child(name = "paymentDate", type = {DateType.class}, order = 19, min = 0, max = 1)
@Description(shortDefinition="Expected data of Payment", formalDefinition="Estimated payment data." )
protected DateType paymentDate;
/**
* Payable less any payment adjustment.
*/
@Child(name="paymentAmount", type={Money.class}, order=20, min=0, max=1)
@Child(name = "paymentAmount", type = {Money.class}, order = 20, min = 0, max = 1)
@Description(shortDefinition="Payment amount", formalDefinition="Payable less any payment adjustment." )
protected Money paymentAmount;
/**
* Payment identifer.
*/
@Child(name="paymentRef", type={Identifier.class}, order=21, min=0, max=1)
@Child(name = "paymentRef", type = {Identifier.class}, order = 21, min = 0, max = 1)
@Description(shortDefinition="Payment identifier", formalDefinition="Payment identifer." )
protected Identifier paymentRef;
/**
* Status of funds reservation (For provider, for Patient, None).
*/
@Child(name="reserved", type={Coding.class}, order=22, min=0, max=1)
@Child(name = "reserved", type = {Coding.class}, order = 22, min = 0, max = 1)
@Description(shortDefinition="Funds reserved status", formalDefinition="Status of funds reservation (For provider, for Patient, None)." )
protected Coding reserved;
/**
* The form to be used for printing the content.
*/
@Child(name="form", type={Coding.class}, order=23, min=0, max=1)
@Child(name = "form", type = {Coding.class}, order = 23, min = 0, max = 1)
@Description(shortDefinition="Printed Form Identifier", formalDefinition="The form to be used for printing the content." )
protected Coding form;
/**
* Note text.
*/
@Child(name="note", type={}, order=24, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "note", type = {}, order = 24, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Processing notes", formalDefinition="Note text." )
protected List<NotesComponent> note;

View File

@ -470,7 +470,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* The patient being asssesed.
*/
@Child(name="patient", type={Patient.class}, order=0, min=1, max=1)
@Child(name = "patient", type = {Patient.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="The patient being asssesed", formalDefinition="The patient being asssesed." )
protected Reference patient;
@ -482,7 +482,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* The clinicial performing the assessment.
*/
@Child(name="assessor", type={Practitioner.class}, order=1, min=1, max=1)
@Child(name = "assessor", type = {Practitioner.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="The clinicial performing the assessment", formalDefinition="The clinicial performing the assessment." )
protected Reference assessor;
@ -494,21 +494,21 @@ public class ClinicalAssessment extends DomainResource {
/**
* The point in time at which the assessment was concluded (not when it was recorded).
*/
@Child(name="date", type={DateTimeType.class}, order=2, min=1, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="When the assessment occurred", formalDefinition="The point in time at which the assessment was concluded (not when it was recorded)." )
protected DateTimeType date;
/**
* A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it.
*/
@Child(name="description", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Why/how the assessment was performed", formalDefinition="A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it." )
protected StringType description;
/**
* A reference to the last assesment that was conducted bon 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.
*/
@Child(name="previous", type={ClinicalAssessment.class}, order=4, min=0, max=1)
@Child(name = "previous", type = {ClinicalAssessment.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Reference to last assessment", formalDefinition="A reference to the last assesment that was conducted bon 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." )
protected Reference previous;
@ -520,7 +520,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* This a list of the general problems/conditions for a patient.
*/
@Child(name="problem", type={Condition.class, AllergyIntolerance.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "problem", type = {Condition.class, AllergyIntolerance.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="General assessment of patient state", formalDefinition="This a list of the general problems/conditions for a patient." )
protected List<Reference> problem;
/**
@ -532,7 +532,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* A reference to a specific care plan that prompted this assessment. The care plan provides further context for the assessment.
*/
@Child(name="careplan", type={CarePlan.class}, order=6, min=0, max=1)
@Child(name = "careplan", type = {CarePlan.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="A specific careplan that prompted this assessment", formalDefinition="A reference to a specific care plan that prompted this assessment. The care plan provides further context for the assessment." )
protected Reference careplan;
@ -544,7 +544,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* A reference to a specific care plan that prompted this assessment. The referral request may provide further context for the assessment.
*/
@Child(name="referral", type={ReferralRequest.class}, order=7, min=0, max=1)
@Child(name = "referral", type = {ReferralRequest.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="A specific referral that lead to this assessment", formalDefinition="A reference to a specific care plan that prompted this assessment. The referral request may provide further context for the assessment." )
protected Reference referral;
@ -556,56 +556,56 @@ public class ClinicalAssessment extends DomainResource {
/**
* One or more sets of investigations (signs, symptions, etc). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.
*/
@Child(name="investigations", type={}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "investigations", type = {}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="One or more sets of investigations (signs, symptions, etc)", formalDefinition="One or more sets of investigations (signs, symptions, etc). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes." )
protected List<ClinicalAssessmentInvestigationsComponent> investigations;
/**
* 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=9, min=0, max=1)
@Child(name = "protocol", type = {UriType.class}, order = 9, min = 0, max = 1)
@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 UriType protocol;
/**
* A text summary of the investigations and the diagnosis.
*/
@Child(name="summary", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "summary", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Summary of the assessment", formalDefinition="A text summary of the investigations and the diagnosis." )
protected StringType summary;
/**
* An specific diagnosis that was considered likely or relevant to ongoing treatment.
*/
@Child(name="diagnosis", type={}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "diagnosis", type = {}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Possible or likely diagnosis", formalDefinition="An specific diagnosis that was considered likely or relevant to ongoing treatment." )
protected List<ClinicalAssessmentDiagnosisComponent> diagnosis;
/**
* Diagnoses/conditions resolved since the last assessment.
*/
@Child(name="resolved", type={CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "resolved", type = {CodeableConcept.class}, order = 12, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Diagnosies/conditions resolved since previous assessment", formalDefinition="Diagnoses/conditions resolved since the last assessment." )
protected List<CodeableConcept> resolved;
/**
* Diagnosis considered not possible.
*/
@Child(name="ruledOut", type={}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "ruledOut", type = {}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Diagnosis considered not possible", formalDefinition="Diagnosis considered not possible." )
protected List<ClinicalAssessmentRuledOutComponent> ruledOut;
/**
* Estimate of likely outcome.
*/
@Child(name="prognosis", type={StringType.class}, order=14, min=0, max=1)
@Child(name = "prognosis", type = {StringType.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Estimate of likely outcome", formalDefinition="Estimate of likely outcome." )
protected StringType prognosis;
/**
* Plan of action after assessment.
*/
@Child(name="plan", type={CarePlan.class}, order=15, min=0, max=1)
@Child(name = "plan", type = {CarePlan.class}, order = 15, min = 0, max = 1)
@Description(shortDefinition="Plan of action after assessment", formalDefinition="Plan of action after assessment." )
protected Reference plan;
@ -617,7 +617,7 @@ public class ClinicalAssessment extends DomainResource {
/**
* Actions taken during assessment.
*/
@Child(name="action", type={ReferralRequest.class, ProcedureRequest.class, Procedure.class, MedicationPrescription.class, DiagnosticOrder.class, NutritionOrder.class, Supply.class, Appointment.class}, order=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "action", type = {ReferralRequest.class, ProcedureRequest.class, Procedure.class, MedicationPrescription.class, DiagnosticOrder.class, NutritionOrder.class, Supply.class, Appointment.class}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Actions taken during assessment", formalDefinition="Actions taken during assessment." )
protected List<Reference> action;
/**
@ -1457,29 +1457,29 @@ public class ClinicalAssessment extends DomainResource {
@SearchParamDefinition(name="date", path="ClinicalAssessment.date", description="When the assessment occurred", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="previous", path="ClinicalAssessment.previous", description="Reference to last assessment", type="reference" )
@SearchParamDefinition(name = "previous", path = "ClinicalAssessment.previous", description = "Reference to last assessment", type = "reference")
public static final String SP_PREVIOUS = "previous";
@SearchParamDefinition(name="assessor", path="ClinicalAssessment.assessor", description="The clinicial performing the assessment", type="reference" )
@SearchParamDefinition(name = "assessor", path = "ClinicalAssessment.assessor", description = "The clinicial performing the assessment", type = "reference")
public static final String SP_ASSESSOR = "assessor";
@SearchParamDefinition(name="careplan", path="ClinicalAssessment.careplan", description="A specific careplan that prompted this assessment", type="reference" )
public static final String SP_CAREPLAN = "careplan";
@SearchParamDefinition(name="diagnosis", path="ClinicalAssessment.diagnosis.item", description="Specific text or code for diagnosis", type="token" )
@SearchParamDefinition(name = "diagnosis", path = "ClinicalAssessment.diagnosis.item", description = "Specific text or code for diagnosis", type = "token")
public static final String SP_DIAGNOSIS = "diagnosis";
@SearchParamDefinition(name="ruledout", path="ClinicalAssessment.ruledOut.item", description="Specific text of code for diagnosis", type="token" )
public static final String SP_RULEDOUT = "ruledout";
@SearchParamDefinition(name="problem", path="ClinicalAssessment.problem", description="General assessment of patient state", type="reference" )
@SearchParamDefinition(name = "problem", path = "ClinicalAssessment.problem", description = "General assessment of patient state", type = "reference")
public static final String SP_PROBLEM = "problem";
@SearchParamDefinition(name="referral", path="ClinicalAssessment.referral", description="A specific referral that lead to this assessment", type="reference" )
@SearchParamDefinition(name = "referral", path = "ClinicalAssessment.referral", description = "A specific referral that lead to this assessment", type = "reference")
public static final String SP_REFERRAL = "referral";
@SearchParamDefinition(name="patient", path="ClinicalAssessment.patient", description="The patient being asssesed", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="investigation", path="ClinicalAssessment.investigations.item", description="Record of a specific investigation", type="reference" )
public static final String SP_INVESTIGATION = "investigation";
@SearchParamDefinition(name="action", path="ClinicalAssessment.action", description="Actions taken during assessment", type="reference" )
@SearchParamDefinition(name = "action", path = "ClinicalAssessment.action", description = "Actions taken during assessment", type = "reference")
public static final String SP_ACTION = "action";
@SearchParamDefinition(name="plan", path="ClinicalAssessment.plan", description="Plan of action after assessment", type="reference" )
@SearchParamDefinition(name = "plan", path = "ClinicalAssessment.plan", description = "Plan of action after assessment", type = "reference")
public static final String SP_PLAN = "plan";
@SearchParamDefinition(name="resolved", path="ClinicalAssessment.resolved", description="Diagnosies/conditions resolved since previous assessment", type="token" )
@SearchParamDefinition(name = "resolved", path = "ClinicalAssessment.resolved", description = "Diagnosies/conditions resolved since previous assessment", type = "token")
public static final String SP_RESOLVED = "resolved";
}

View File

@ -35,7 +35,7 @@ import org.hl7.fhir.instance.model.annotations.DatatypeDef;
/**
* Primitive type "code" in FHIR, when not bound to an enumerated list of codes
*/
@DatatypeDef(name="code")
@DatatypeDef(name = "code")
public class CodeType extends PrimitiveType<String> implements Comparable<CodeType> {
private static final long serialVersionUID = 3L;

View File

@ -41,19 +41,19 @@ import org.hl7.fhir.instance.model.annotations.DatatypeDef;
* 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 Type implements ICompositeType {
public class CodeableConcept extends Type implements ICompositeType {
/**
* A reference to a code defined by a terminology system.
*/
@Child(name="coding", type={Coding.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "coding", type = {Coding.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Code defined by a terminology system", formalDefinition="A reference to a code defined by a terminology system." )
protected List<Coding> coding;
/**
* A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
*/
@Child(name="text", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "text", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Plain text representation of the concept", formalDefinition="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." )
protected StringType text;

View File

@ -47,42 +47,42 @@ public class Coding extends Type implements ICoding, ICompositeType {
/**
* The identification of the code system that defines the meaning of the symbol in the code.
*/
@Child(name="system", type={UriType.class}, order=0, min=0, max=1)
@Child(name = "system", type = {UriType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Identity of the terminology system", formalDefinition="The identification of the code system that defines the meaning of the symbol in the code." )
protected UriType system;
/**
* The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
*/
@Child(name="version", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "version", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Version of the system - if relevant", formalDefinition="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." )
protected StringType version;
/**
* A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
*/
@Child(name="code", type={CodeType.class}, order=2, min=0, max=1)
@Child(name = "code", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Symbol in syntax defined by the system", formalDefinition="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." )
protected CodeType code;
/**
* A representation of the meaning of the code in the system, following the rules of the system.
*/
@Child(name="display", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "display", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Representation defined by the system", formalDefinition="A representation of the meaning of the code in the system, following the rules of the system." )
protected StringType display;
/**
* Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
*/
@Child(name="primary", type={BooleanType.class}, order=4, min=0, max=1)
@Child(name = "primary", type = {BooleanType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="If this code was chosen directly by the user", formalDefinition="Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." )
protected BooleanType primary;
/**
* The set of possible coded values this coding was chosen from or constrained by.
*/
@Child(name="valueSet", type={ValueSet.class}, order=5, min=0, max=1)
@Child(name = "valueSet", type = {ValueSet.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Set this coding was chosen from", formalDefinition="The set of possible coded values this coding was chosen from or constrained by." )
protected Reference valueSet;

View File

@ -266,21 +266,21 @@ public class Communication extends DomainResource {
/**
* Identifiers associated with this Communication 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Unique identifier", formalDefinition="Identifiers associated with this Communication 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)." )
protected List<Identifier> identifier;
/**
* The type of message such as alert, notification, reminder, instruction, etc.
*/
@Child(name="category", type={CodeableConcept.class}, order=1, min=0, max=1)
@Child(name = "category", type = {CodeableConcept.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Message category", formalDefinition="The type of message such as alert, notification, reminder, instruction, etc." )
protected CodeableConcept category;
/**
* The entity (e.g., person, organization, clinical information system, or device) which is the source of the communication.
*/
@Child(name="sender", type={Patient.class, Practitioner.class, Device.class, RelatedPerson.class, Organization.class}, order=2, min=0, max=1)
@Child(name = "sender", type = {Patient.class, Practitioner.class, Device.class, RelatedPerson.class, Organization.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Message sender", formalDefinition="The entity (e.g., person, organization, clinical information system, or device) which is the source of the communication." )
protected Reference sender;
@ -292,7 +292,7 @@ public class Communication extends DomainResource {
/**
* The entity (e.g., person, organization, clinical information system, or device) which is the target of the communication.
*/
@Child(name="recipient", type={Patient.class, Device.class, RelatedPerson.class, Practitioner.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "recipient", type = {Patient.class, Device.class, RelatedPerson.class, Practitioner.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Message recipient", formalDefinition="The entity (e.g., person, organization, clinical information system, or device) which is the target of the communication." )
protected List<Reference> recipient;
/**
@ -304,28 +304,28 @@ public class Communication extends DomainResource {
/**
* Text, attachment(s), or resource(s) to be communicated to the recipient.
*/
@Child(name="payload", type={}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "payload", type = {}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Message payload", formalDefinition="Text, attachment(s), or resource(s) to be communicated to the recipient." )
protected List<CommunicationPayloadComponent> payload;
/**
* The communication medium, e.g., email, fax.
*/
@Child(name="medium", type={CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "medium", type = {CodeableConcept.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Communication medium", formalDefinition="The communication medium, e.g., email, fax." )
protected List<CodeableConcept> medium;
/**
* The status of the transmission.
*/
@Child(name="status", type={CodeType.class}, order=6, min=0, max=1)
@Child(name = "status", type = {CodeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="in-progress | completed | suspended | rejected | failed", formalDefinition="The status of the transmission." )
protected Enumeration<CommunicationStatus> status;
/**
* The encounter within which the communication was sent.
*/
@Child(name="encounter", type={Encounter.class}, order=7, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Encounter leading to message", formalDefinition="The encounter within which the communication was sent." )
protected Reference encounter;
@ -337,28 +337,28 @@ public class Communication extends DomainResource {
/**
* The time when this communication was sent.
*/
@Child(name="sent", type={DateTimeType.class}, order=8, min=0, max=1)
@Child(name = "sent", type = {DateTimeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="When sent", formalDefinition="The time when this communication was sent." )
protected DateTimeType sent;
/**
* The time when this communication arrived at the destination.
*/
@Child(name="received", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "received", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="When received", formalDefinition="The time when this communication arrived at the destination." )
protected DateTimeType received;
/**
* The reason or justification for the communication.
*/
@Child(name="reason", type={CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "reason", type = {CodeableConcept.class}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Indication for message", formalDefinition="The reason or justification for the communication." )
protected List<CodeableConcept> reason;
/**
* The patient who is the focus of this communication.
*/
@Child(name="subject", type={Patient.class}, order=11, min=0, max=1)
@Child(name = "subject", type = {Patient.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Focus of message", formalDefinition="The patient who is the focus of this communication." )
protected Reference subject;
@ -926,27 +926,27 @@ public class Communication extends DomainResource {
return ResourceType.Communication;
}
@SearchParamDefinition(name="identifier", path="Communication.identifier", description="Unique identifier", type="token" )
@SearchParamDefinition(name = "identifier", path = "Communication.identifier", description = "Unique identifier", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="sender", path="Communication.sender", description="Message sender", type="reference" )
public static final String SP_SENDER = "sender";
@SearchParamDefinition(name="subject", path="Communication.subject", description="Focus of message", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="Communication.subject", description="Focus of message", type="reference" )
@SearchParamDefinition(name = "patient", path = "Communication.subject", description = "Focus of message", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="recipient", path="Communication.recipient", description="Message recipient", type="reference" )
@SearchParamDefinition(name = "recipient", path = "Communication.recipient", description = "Message recipient", type = "reference")
public static final String SP_RECIPIENT = "recipient";
@SearchParamDefinition(name="received", path="Communication.received", description="When received", type="date" )
public static final String SP_RECEIVED = "received";
@SearchParamDefinition(name="medium", path="Communication.medium", description="Communication medium", type="token" )
public static final String SP_MEDIUM = "medium";
@SearchParamDefinition(name="encounter", path="Communication.encounter", description="Encounter leading to message", type="reference" )
@SearchParamDefinition(name = "encounter", path = "Communication.encounter", description = "Encounter leading to message", type = "reference")
public static final String SP_ENCOUNTER = "encounter";
@SearchParamDefinition(name="category", path="Communication.category", description="Message category", type="token" )
@SearchParamDefinition(name = "category", path = "Communication.category", description = "Message category", type = "token")
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name="sent", path="Communication.sent", description="When sent", type="date" )
@SearchParamDefinition(name = "sent", path = "Communication.sent", description = "When sent", type = "date")
public static final String SP_SENT = "sent";
@SearchParamDefinition(name="status", path="Communication.status", description="in-progress | completed | suspended | rejected | failed", type="token" )
@SearchParamDefinition(name = "status", path = "Communication.status", description = "in-progress | completed | suspended | rejected | failed", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -336,21 +336,21 @@ public class CommunicationRequest extends DomainResource {
/**
* A unique ID of this request for reference purposes. It must be provided if user wants it returned as part of any output, otherwise it will be auto-generated, if needed, by CDS system. Does not need to be the actual ID of the source system.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Unique identifier", formalDefinition="A unique ID of this request for reference purposes. It must be provided if user wants it returned as part of any output, otherwise it will be auto-generated, if needed, by CDS system. Does not need to be the actual ID of the source system." )
protected List<Identifier> identifier;
/**
* The type of message such as alert, notification, reminder, instruction, etc.
*/
@Child(name="category", type={CodeableConcept.class}, order=1, min=0, max=1)
@Child(name = "category", type = {CodeableConcept.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Message category", formalDefinition="The type of message such as alert, notification, reminder, instruction, etc." )
protected CodeableConcept category;
/**
* The entity (e.g., person, organization, clinical information system, or device) which is the source of the communication.
*/
@Child(name="sender", type={Patient.class, Practitioner.class, Device.class, RelatedPerson.class, Organization.class}, order=2, min=0, max=1)
@Child(name = "sender", type = {Patient.class, Practitioner.class, Device.class, RelatedPerson.class, Organization.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Message sender", formalDefinition="The entity (e.g., person, organization, clinical information system, or device) which is the source of the communication." )
protected Reference sender;
@ -362,7 +362,7 @@ public class CommunicationRequest extends DomainResource {
/**
* The entity (e.g., person, organization, clinical information system, or device) which is the intended target of the communication.
*/
@Child(name="recipient", type={Patient.class, Device.class, RelatedPerson.class, Practitioner.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "recipient", type = {Patient.class, Device.class, RelatedPerson.class, Practitioner.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Message recipient", formalDefinition="The entity (e.g., person, organization, clinical information system, or device) which is the intended target of the communication." )
protected List<Reference> recipient;
/**
@ -374,21 +374,21 @@ public class CommunicationRequest extends DomainResource {
/**
* Text, attachment(s), or resource(s) to be communicated to the recipient.
*/
@Child(name="payload", type={}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "payload", type = {}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Message payload", formalDefinition="Text, attachment(s), or resource(s) to be communicated to the recipient." )
protected List<CommunicationRequestPayloadComponent> payload;
/**
* The communication medium, e.g., email, fax.
*/
@Child(name="medium", type={CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "medium", type = {CodeableConcept.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Communication medium", formalDefinition="The communication medium, e.g., email, fax." )
protected List<CodeableConcept> medium;
/**
* The responsible person who authorizes this order, e.g., physician. This may be different than the author of the order statement, e.g., clerk, who may have entered the statement into the order entry application.
*/
@Child(name="requester", type={Practitioner.class, Patient.class, RelatedPerson.class}, order=6, min=0, max=1)
@Child(name = "requester", type = {Practitioner.class, Patient.class, RelatedPerson.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Requester of communication", formalDefinition="The responsible person who authorizes this order, e.g., physician. This may be different than the author of the order statement, e.g., clerk, who may have entered the statement into the order entry application." )
protected Reference requester;
@ -400,14 +400,14 @@ public class CommunicationRequest extends DomainResource {
/**
* The status of the proposal or order.
*/
@Child(name="status", type={CodeType.class}, order=7, min=0, max=1)
@Child(name = "status", type = {CodeType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | failed", formalDefinition="The status of the proposal or order." )
protected Enumeration<CommunicationRequestStatus> status;
/**
* The encounter within which the communication request was created.
*/
@Child(name="encounter", type={Encounter.class}, order=8, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Encounter leading to message", formalDefinition="The encounter within which the communication request was created." )
protected Reference encounter;
@ -419,28 +419,28 @@ public class CommunicationRequest extends DomainResource {
/**
* The time when this communication is to occur.
*/
@Child(name="scheduledTime", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "scheduledTime", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="When scheduled", formalDefinition="The time when this communication is to occur." )
protected DateTimeType scheduledTime;
/**
* The reason or justification for the communication request.
*/
@Child(name="reason", type={CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "reason", type = {CodeableConcept.class}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Indication for message", formalDefinition="The reason or justification for the communication request." )
protected List<CodeableConcept> reason;
/**
* The time when the request was made.
*/
@Child(name="orderedOn", type={DateTimeType.class}, order=11, min=0, max=1)
@Child(name = "orderedOn", type = {DateTimeType.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="When ordered or proposed", formalDefinition="The time when the request was made." )
protected DateTimeType orderedOn;
/**
* The patient who is the focus of this communication request.
*/
@Child(name="subject", type={Patient.class}, order=12, min=0, max=1)
@Child(name = "subject", type = {Patient.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Focus of message", formalDefinition="The patient who is the focus of this communication request." )
protected Reference subject;
@ -452,7 +452,7 @@ public class CommunicationRequest extends DomainResource {
/**
* Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine.
*/
@Child(name="priority", type={CodeableConcept.class}, order=13, min=0, max=1)
@Child(name = "priority", type = {CodeableConcept.class}, order = 13, min = 0, max = 1)
@Description(shortDefinition="Message urgency", formalDefinition="Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine." )
protected CodeableConcept priority;
@ -1087,27 +1087,27 @@ public class CommunicationRequest extends DomainResource {
public static final String SP_REQUESTER = "requester";
@SearchParamDefinition(name="identifier", path="CommunicationRequest.identifier", description="Unique identifier", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="ordered", path="CommunicationRequest.orderedOn", description="When ordered or proposed", type="date" )
@SearchParamDefinition(name = "ordered", path = "CommunicationRequest.orderedOn", description = "When ordered or proposed", type = "date")
public static final String SP_ORDERED = "ordered";
@SearchParamDefinition(name="subject", path="CommunicationRequest.subject", description="Focus of message", type="reference" )
@SearchParamDefinition(name = "subject", path = "CommunicationRequest.subject", description = "Focus of message", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="medium", path="CommunicationRequest.medium", description="Communication medium", type="token" )
public static final String SP_MEDIUM = "medium";
@SearchParamDefinition(name="encounter", path="CommunicationRequest.encounter", description="Encounter leading to message", type="reference" )
@SearchParamDefinition(name = "encounter", path = "CommunicationRequest.encounter", description = "Encounter leading to message", type = "reference")
public static final String SP_ENCOUNTER = "encounter";
@SearchParamDefinition(name="priority", path="CommunicationRequest.priority", description="Message urgency", type="token" )
@SearchParamDefinition(name = "priority", path = "CommunicationRequest.priority", description = "Message urgency", type = "token")
public static final String SP_PRIORITY = "priority";
@SearchParamDefinition(name="sender", path="CommunicationRequest.sender", description="Message sender", type="reference" )
@SearchParamDefinition(name = "sender", path = "CommunicationRequest.sender", description = "Message sender", type = "reference")
public static final String SP_SENDER = "sender";
@SearchParamDefinition(name="patient", path="CommunicationRequest.subject", description="Focus of message", type="reference" )
@SearchParamDefinition(name = "patient", path = "CommunicationRequest.subject", description = "Focus of message", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="recipient", path="CommunicationRequest.recipient", description="Message recipient", type="reference" )
public static final String SP_RECIPIENT = "recipient";
@SearchParamDefinition(name="time", path="CommunicationRequest.scheduledTime", description="When scheduled", type="date" )
@SearchParamDefinition(name = "time", path = "CommunicationRequest.scheduledTime", description = "When scheduled", type = "date")
public static final String SP_TIME = "time";
@SearchParamDefinition(name="category", path="CommunicationRequest.category", description="Message category", type="token" )
@SearchParamDefinition(name = "category", path = "CommunicationRequest.category", description = "Message category", type = "token")
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name="status", path="CommunicationRequest.status", description="proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | failed", type="token" )
@SearchParamDefinition(name = "status", path = "CommunicationRequest.status", description = "proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | failed", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -898,56 +898,56 @@ public class Composition extends DomainResource {
/**
* Logical Identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Logical identifier of composition (version-independent)", formalDefinition="Logical Identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time." )
protected Identifier identifier;
/**
* The composition editing time, when the composition was last logically changed by the author.
*/
@Child(name="date", type={DateTimeType.class}, order=1, min=1, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Composition editing time", formalDefinition="The composition editing time, when the composition was last logically changed by the author." )
protected DateTimeType date;
/**
* 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.
*/
@Child(name="type", type={CodeableConcept.class}, order=2, min=1, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="Kind of composition (LOINC if possible)", formalDefinition="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." )
protected CodeableConcept type;
/**
* A categorization for the type of the composition. This may be implied by or derived from the code specified in the Composition Type.
*/
@Child(name="class_", type={CodeableConcept.class}, order=3, min=0, max=1)
@Child(name = "class_", type = {CodeableConcept.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Categorization of Composition", formalDefinition="A categorization for the type of the composition. This may be implied by or derived from the code specified in the Composition Type." )
protected CodeableConcept class_;
/**
* Official human-readable label for the composition.
*/
@Child(name="title", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "title", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Human Readable name/title", formalDefinition="Official human-readable label for the composition." )
protected StringType title;
/**
* 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=5, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 5, min = 1, max = 1)
@Description(shortDefinition="preliminary | final | appended | amended | entered-in-error", formalDefinition="The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document." )
protected Enumeration<CompositionStatus> status;
/**
* The code specifying the level of confidentiality of the Composition.
*/
@Child(name="confidentiality", type={Coding.class}, order=6, min=1, max=1)
@Child(name = "confidentiality", type = {Coding.class}, order = 6, min = 1, max = 1)
@Description(shortDefinition="As defined by affinity domain", formalDefinition="The code specifying the level of confidentiality of the Composition." )
protected Coding confidentiality;
/**
* Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (I.e. 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={Patient.class, Practitioner.class, Group.class, Device.class, Location.class}, order=7, min=1, max=1)
@Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class, Location.class}, order = 7, min = 1, max = 1)
@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 (I.e. 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;
@ -959,7 +959,7 @@ public class Composition extends DomainResource {
/**
* Identifies who is responsible for the information in the composition. (Not necessarily who typed it in.).
*/
@Child(name="author", type={Practitioner.class, Device.class, Patient.class, RelatedPerson.class}, order=8, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "author", type = {Practitioner.class, Device.class, Patient.class, RelatedPerson.class}, order = 8, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Who and/or what authored the composition", formalDefinition="Identifies who is responsible for the information in the composition. (Not necessarily who typed it in.)." )
protected List<Reference> author;
/**
@ -971,14 +971,14 @@ public class Composition extends DomainResource {
/**
* A participant who has attested to the accuracy of the composition/document.
*/
@Child(name="attester", type={}, order=9, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "attester", type = {}, order = 9, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Attests to accuracy of composition", formalDefinition="A participant who has attested to the accuracy of the composition/document." )
protected List<CompositionAttesterComponent> 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=10, min=0, max=1)
@Child(name = "custodian", type = {Organization.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Org 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;
@ -990,14 +990,14 @@ public class Composition extends DomainResource {
/**
* The clinical service, such as a colonoscopy or an appendectomy, being documented.
*/
@Child(name="event", type={}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "event", type = {}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The clinical service(s) being documented", formalDefinition="The clinical service, such as a colonoscopy or an appendectomy, being documented." )
protected List<CompositionEventComponent> event;
/**
* Describes the clinical encounter or type of care this documentation is associated with.
*/
@Child(name="encounter", type={Encounter.class}, order=12, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Context of the conposition", formalDefinition="Describes the clinical encounter or type of care this documentation is associated with." )
protected Reference encounter;
@ -1009,7 +1009,7 @@ public class Composition extends DomainResource {
/**
* The root of the sections that make up the composition.
*/
@Child(name="section", type={}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "section", type = {}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Composition is broken into sections", formalDefinition="The root of the sections that make up the composition." )
protected List<SectionComponent> section;
@ -1619,34 +1619,34 @@ public class Composition extends DomainResource {
@SearchParamDefinition(name="date", path="Composition.date", description="Composition editing time", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="Composition.identifier", description="Logical identifier of composition (version-independent)", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="period", path="Composition.event.period", description="The period covered by the documentation", type="date" )
public static final String SP_PERIOD = "period";
@SearchParamDefinition(name="subject", path="Composition.subject", description="Who and/or what the composition is about", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name = "identifier", path = "Composition.identifier", description = "Logical identifier of composition (version-independent)", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "period", path = "Composition.event.period", description = "The period covered by the documentation", type = "date")
public static final String SP_PERIOD = "period";
@SearchParamDefinition(name = "subject", path = "Composition.subject", description = "Who and/or what the composition is about", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="author", path="Composition.author", description="Who and/or what authored the composition", type="reference" )
public static final String SP_AUTHOR = "author";
@SearchParamDefinition(name="confidentiality", path="Composition.confidentiality", description="As defined by affinity domain", type="token" )
public static final String SP_CONFIDENTIALITY = "confidentiality";
@SearchParamDefinition(name="section-code", path="Composition.section.code", description="Classification of section (recommended)", type="token" )
public static final String SP_SECTIONCODE = "section-code";
@SearchParamDefinition(name="section", path="Composition.section.content", description="The Content of the section", type="reference" )
public static final String SP_SECTION = "section";
@SearchParamDefinition(name="type", path="Composition.type", description="Kind of composition (LOINC if possible)", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "confidentiality", path = "Composition.confidentiality", description = "As defined by affinity domain", type = "token")
public static final String SP_CONFIDENTIALITY = "confidentiality";
@SearchParamDefinition(name = "section-code", path = "Composition.section.code", description = "Classification of section (recommended)", type = "token")
public static final String SP_SECTIONCODE = "section-code";
@SearchParamDefinition(name = "section", path = "Composition.section.content", description = "The Content of the section", type = "reference")
public static final String SP_SECTION = "section";
@SearchParamDefinition(name = "type", path = "Composition.type", description = "Kind of composition (LOINC if possible)", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="title", path="Composition.title", description="Human Readable name/title", type="string" )
public static final String SP_TITLE = "title";
@SearchParamDefinition(name="attester", path="Composition.attester.party", description="Who attested the composition", type="reference" )
public static final String SP_ATTESTER = "attester";
@SearchParamDefinition(name="patient", path="Composition.subject", description="Who and/or what the composition is about", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "patient", path = "Composition.subject", description = "Who and/or what the composition is about", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="context", path="Composition.event.code", description="Code(s) that apply to the event being documented", type="token" )
public static final String SP_CONTEXT = "context";
@SearchParamDefinition(name="class", path="Composition.class", description="Categorization of Composition", type="token" )
public static final String SP_CLASS = "class";
@SearchParamDefinition(name="status", path="Composition.status", description="preliminary | final | appended | amended | entered-in-error", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "class", path = "Composition.class", description = "Categorization of Composition", type = "token")
public static final String SP_CLASS = "class";
@SearchParamDefinition(name = "status", path = "Composition.status", description = "preliminary | final | appended | amended | entered-in-error", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -1092,91 +1092,91 @@ public class ConceptMap extends DomainResource {
/**
* The identifier that is used to identify this concept map when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI).
*/
@Child(name="identifier", type={StringType.class}, order=0, min=0, max=1)
@Child(name = "identifier", type = {StringType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Logical id to reference this concept map", formalDefinition="The identifier that is used to identify this concept map when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI)." )
protected StringType identifier;
/**
* 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 profile author manually and the value should be a timestamp.
*/
@Child(name="version", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "version", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Logical id for this version of the concept map", formalDefinition="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 profile author manually and the value should be a timestamp." )
protected StringType version;
/**
* A free text natural language name describing the concept map.
*/
@Child(name="name", type={StringType.class}, order=2, min=0, max=1)
@Child(name = "name", type = {StringType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Informal name for this concept map", formalDefinition="A free text natural language name describing the concept map." )
protected StringType name;
/**
* The name of the individual or organization that published the concept map.
*/
@Child(name="publisher", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "publisher", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Name of the publisher (Organization or individual)", formalDefinition="The name of the individual or organization that published the concept map." )
protected StringType publisher;
/**
* Contacts of the publisher to assist a user in finding and communicating with the publisher.
*/
@Child(name="telecom", type={ContactPoint.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "telecom", type = {ContactPoint.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contact information of the publisher", formalDefinition="Contacts of the publisher to assist a user in finding and communicating with the publisher." )
protected List<ContactPoint> telecom;
/**
* A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc.
*/
@Child(name="description", type={StringType.class}, order=5, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Human language description of the concept map", formalDefinition="A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc." )
protected StringType description;
/**
* A copyright statement relating to the concept map and/or its contents.
*/
@Child(name="copyright", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "copyright", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="About the concept map or its content", formalDefinition="A copyright statement relating to the concept map and/or its contents." )
protected StringType copyright;
/**
* The status of the concept map.
*/
@Child(name="status", type={CodeType.class}, order=7, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 7, min = 1, max = 1)
@Description(shortDefinition="draft | active | retired", formalDefinition="The status of the concept map." )
protected Enumeration<ValuesetStatus> status;
/**
* This ConceptMap was 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)
@Child(name = "experimental", type = {BooleanType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." )
protected BooleanType experimental;
/**
* The date that the concept map status was last changed.
*/
@Child(name="date", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Date for given status", formalDefinition="The date that the concept map status was last changed." )
protected DateTimeType date;
/**
* The source value set that specifies the concepts that are being mapped.
*/
@Child(name="source", type={UriType.class, ValueSet.class, Profile.class}, order=10, min=1, max=1)
@Child(name = "source", type = {UriType.class, ValueSet.class, Profile.class}, order = 10, min = 1, max = 1)
@Description(shortDefinition="Identifies the source of the concepts which are being mapped", formalDefinition="The source value set that specifies the concepts that are being mapped." )
protected Type source;
/**
* The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.
*/
@Child(name="target", type={UriType.class, ValueSet.class, Profile.class}, order=11, min=1, max=1)
@Child(name = "target", type = {UriType.class, ValueSet.class, Profile.class}, order = 11, min = 1, max = 1)
@Description(shortDefinition="Provides context to the mappings", formalDefinition="The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made." )
protected Type target;
/**
* Mappings for an individual concept in the source to one or more concepts in the target.
*/
@Child(name="element", type={}, order=12, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "element", type = {}, order = 12, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Mappings for a concept from the source set", formalDefinition="Mappings for an individual concept in the source to one or more concepts in the target." )
protected List<ConceptMapElementComponent> element;
@ -1849,30 +1849,30 @@ public class ConceptMap extends DomainResource {
return ResourceType.ConceptMap;
}
@SearchParamDefinition(name="date", path="ConceptMap.date", description="The concept map publication date", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="ConceptMap.identifier", description="The identifier of the concept map", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "date", path = "ConceptMap.date", description = "The concept map publication date", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name = "identifier", path = "ConceptMap.identifier", description = "The identifier of the concept map", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="product", path="ConceptMap.element.map.product.element", description="Reference to element/field/valueset mapping depends on", type="token" )
public static final String SP_PRODUCT = "product";
@SearchParamDefinition(name="system", path="ConceptMap.element.map.codeSystem", description="The system for any destination concepts mapped by this map", type="token" )
public static final String SP_SYSTEM = "system";
@SearchParamDefinition(name="dependson", path="ConceptMap.element.dependsOn.element", description="Reference to element/field/valueset mapping depends on", type="token" )
public static final String SP_DEPENDSON = "dependson";
@SearchParamDefinition(name = "dependson", path = "ConceptMap.element.dependsOn.element", description = "Reference to element/field/valueset mapping depends on", type = "token")
public static final String SP_DEPENDSON = "dependson";
@SearchParamDefinition(name="name", path="ConceptMap.name", description="Name of the concept map", type="string" )
public static final String SP_NAME = "name";
@SearchParamDefinition(name="publisher", path="ConceptMap.publisher", description="Name of the publisher of the concept map", type="string" )
public static final String SP_PUBLISHER = "publisher";
@SearchParamDefinition(name="description", path="ConceptMap.description", description="Text search in the description of the concept map", type="string" )
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name="source", path="ConceptMap.source[x]", description="The system for any concepts mapped by this concept map", type="reference" )
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name = "description", path = "ConceptMap.description", description = "Text search in the description of the concept map", type = "string")
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name = "source", path = "ConceptMap.source[x]", description = "The system for any concepts mapped by this concept map", type = "reference")
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name="version", path="ConceptMap.version", description="The version identifier of the concept map", type="token" )
public static final String SP_VERSION = "version";
@SearchParamDefinition(name="status", path="ConceptMap.status", description="Status of the concept map", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name="target", path="ConceptMap.target[x]", description="Provides context to the mappings", type="reference" )
public static final String SP_TARGET = "target";
@SearchParamDefinition(name = "status", path = "ConceptMap.status", description = "Status of the concept map", type = "token")
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "target", path = "ConceptMap.target[x]", description = "Provides context to the mappings", type = "reference")
public static final String SP_TARGET = "target";
}

View File

@ -818,14 +818,14 @@ public class Condition extends DomainResource {
/**
* This records identifiers associated with this condition that are defined by business processed 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).
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="External Ids for this condition", formalDefinition="This records identifiers associated with this condition that are defined by business processed 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)." )
protected List<Identifier> identifier;
/**
* Indicates the patient who the condition record is associated with.
*/
@Child(name="subject", type={Patient.class}, order=1, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Who has the condition?", formalDefinition="Indicates the patient who the condition record is associated with." )
protected Reference subject;
@ -837,7 +837,7 @@ public class Condition extends DomainResource {
/**
* Encounter during which the condition was first asserted.
*/
@Child(name="encounter", type={Encounter.class}, order=2, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Encounter when condition first asserted", formalDefinition="Encounter during which the condition was first asserted." )
protected Reference encounter;
@ -849,7 +849,7 @@ public class Condition extends DomainResource {
/**
* Person who takes responsibility for asserting the existence of the condition as part of the electronic record.
*/
@Child(name="asserter", type={Practitioner.class, Patient.class}, order=3, min=0, max=1)
@Child(name = "asserter", type = {Practitioner.class, Patient.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Person who asserts this condition", formalDefinition="Person who takes responsibility for asserting the existence of the condition as part of the electronic record." )
protected Reference asserter;
@ -861,98 +861,98 @@ public class Condition extends DomainResource {
/**
* Estimated or actual date the condition/problem/diagnosis was first detected/suspected.
*/
@Child(name="dateAsserted", type={DateType.class}, order=4, min=0, max=1)
@Child(name = "dateAsserted", type = {DateType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="When first detected/suspected/entered", formalDefinition="Estimated or actual date the condition/problem/diagnosis was first detected/suspected." )
protected DateType dateAsserted;
/**
* Identification of the condition, problem or diagnosis.
*/
@Child(name="code", type={CodeableConcept.class}, order=5, min=1, max=1)
@Child(name = "code", type = {CodeableConcept.class}, order = 5, min = 1, max = 1)
@Description(shortDefinition="Identification of the condition, problem or diagnosis", formalDefinition="Identification of the condition, problem or diagnosis." )
protected CodeableConcept code;
/**
* A category assigned to the condition. E.g. complaint | symptom | finding | diagnosis.
*/
@Child(name="category", type={CodeableConcept.class}, order=6, min=0, max=1)
@Child(name = "category", type = {CodeableConcept.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="E.g. complaint | symptom | finding | diagnosis", formalDefinition="A category assigned to the condition. E.g. complaint | symptom | finding | diagnosis." )
protected CodeableConcept category;
/**
* The clinical status of the condition.
*/
@Child(name="status", type={CodeType.class}, order=7, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 7, min = 1, max = 1)
@Description(shortDefinition="provisional | working | confirmed | refuted", formalDefinition="The clinical status of the condition." )
protected Enumeration<ConditionStatus> status;
/**
* The degree of confidence that this condition is correct.
*/
@Child(name="certainty", type={CodeableConcept.class}, order=8, min=0, max=1)
@Child(name = "certainty", type = {CodeableConcept.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Degree of confidence", formalDefinition="The degree of confidence that this condition is correct." )
protected CodeableConcept certainty;
/**
* A subjective assessment of the severity of the condition as evaluated by the clinician.
*/
@Child(name="severity", type={CodeableConcept.class}, order=9, min=0, max=1)
@Child(name = "severity", type = {CodeableConcept.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Subjective severity of condition", formalDefinition="A subjective assessment of the severity of the condition as evaluated by the clinician." )
protected CodeableConcept severity;
/**
* Estimated or actual date or date-time the condition began, in the opinion of the clinician.
*/
@Child(name="onset", type={DateTimeType.class, Age.class}, order=10, min=0, max=1)
@Child(name = "onset", type = {DateTimeType.class, Age.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Estimated or actual date, date-time, or age", formalDefinition="Estimated or actual date or date-time the condition began, in the opinion of the clinician." )
protected Type onset;
/**
* The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
*/
@Child(name="abatement", type={DateType.class, Age.class, BooleanType.class}, order=11, min=0, max=1)
@Child(name = "abatement", type = {DateType.class, Age.class, BooleanType.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="If/when in resolution/remission", formalDefinition="The date or estimated date that the condition resolved or went into remission. This is called 'abatement' because of the many overloaded connotations associated with 'remission' or 'resolution' - Conditions are never really resolved, but they can abate." )
protected Type abatement;
/**
* Clinical stage or grade of a condition. May include formal severity assessments.
*/
@Child(name="stage", type={}, order=12, min=0, max=1)
@Child(name = "stage", type = {}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Stage/grade, usually assessed formally", formalDefinition="Clinical stage or grade of a condition. May include formal severity assessments." )
protected ConditionStageComponent stage;
/**
* Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed.
*/
@Child(name="evidence", type={}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "evidence", type = {}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Supporting evidence", formalDefinition="Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed." )
protected List<ConditionEvidenceComponent> evidence;
/**
* The anatomical location where this condition manifests itself.
*/
@Child(name="location", type={}, order=14, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "location", type = {}, order = 14, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Anatomical location, if relevant", formalDefinition="The anatomical location where this condition manifests itself." )
protected List<ConditionLocationComponent> location;
/**
* Further conditions, problems, diagnoses, procedures or events or the substance that caused/triggered this Condition.
*/
@Child(name="dueTo", type={}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "dueTo", type = {}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Causes for this Condition", formalDefinition="Further conditions, problems, diagnoses, procedures or events or the substance that caused/triggered this Condition." )
protected List<ConditionDueToComponent> dueTo;
/**
* Further conditions, problems, diagnoses, procedures or events or the substance that preceded this Condition.
*/
@Child(name="occurredFollowing", type={}, order=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "occurredFollowing", type = {}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Precedent for this Condition", formalDefinition="Further conditions, problems, diagnoses, procedures or events or the substance that preceded this Condition." )
protected List<ConditionOccurredFollowingComponent> occurredFollowing;
/**
* Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.
*/
@Child(name="notes", type={StringType.class}, order=17, min=0, max=1)
@Child(name = "notes", type = {StringType.class}, order = 17, min = 0, max = 1)
@Description(shortDefinition="Additional information about the Condition", formalDefinition="Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis." )
protected StringType notes;
@ -1709,35 +1709,35 @@ public class Condition extends DomainResource {
public static final String SP_SEVERITY = "severity";
@SearchParamDefinition(name="code", path="Condition.code", description="Code for the condition", type="token" )
public static final String SP_CODE = "code";
@SearchParamDefinition(name="evidence", path="Condition.evidence.code", description="Manifestation/symptom", type="token" )
@SearchParamDefinition(name = "evidence", path = "Condition.evidence.code", description = "Manifestation/symptom", type = "token")
public static final String SP_EVIDENCE = "evidence";
@SearchParamDefinition(name="date-asserted", path="Condition.dateAsserted", description="When first detected/suspected/entered", type="date" )
public static final String SP_DATEASSERTED = "date-asserted";
@SearchParamDefinition(name="subject", path="Condition.subject", description="Who has the condition?", type="reference" )
@SearchParamDefinition(name = "subject", path = "Condition.subject", description = "Who has the condition?", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="dueto-item", path="Condition.dueTo.target", description="Relationship target resource", type="reference" )
@SearchParamDefinition(name = "dueto-item", path = "Condition.dueTo.target", description = "Relationship target resource", type = "reference")
public static final String SP_DUETOITEM = "dueto-item";
@SearchParamDefinition(name="encounter", path="Condition.encounter", description="Encounter when condition first asserted", type="reference" )
@SearchParamDefinition(name = "encounter", path = "Condition.encounter", description = "Encounter when condition first asserted", type = "reference")
public static final String SP_ENCOUNTER = "encounter";
@SearchParamDefinition(name="onset", path="Condition.onset[x]", description="When the Condition started (if started on a date)", type="date" )
@SearchParamDefinition(name = "onset", path = "Condition.onset[x]", description = "When the Condition started (if started on a date)", type = "date")
public static final String SP_ONSET = "onset";
@SearchParamDefinition(name="asserter", path="Condition.asserter", description="Person who asserts this condition", type="reference" )
@SearchParamDefinition(name = "asserter", path = "Condition.asserter", description = "Person who asserts this condition", type = "reference")
public static final String SP_ASSERTER = "asserter";
@SearchParamDefinition(name="stage", path="Condition.stage.summary", description="Simple summary (disease specific)", type="token" )
public static final String SP_STAGE = "stage";
@SearchParamDefinition(name="following-item", path="Condition.occurredFollowing.target", description="Relationship target resource", type="reference" )
@SearchParamDefinition(name = "following-item", path = "Condition.occurredFollowing.target", description = "Relationship target resource", type = "reference")
public static final String SP_FOLLOWINGITEM = "following-item";
@SearchParamDefinition(name="patient", path="Condition.subject", description="Who has the condition?", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="dueto-code", path="Condition.dueTo.codeableConcept", description="Relationship target by means of a predefined code", type="token" )
@SearchParamDefinition(name = "dueto-code", path = "Condition.dueTo.codeableConcept", description = "Relationship target by means of a predefined code", type = "token")
public static final String SP_DUETOCODE = "dueto-code";
@SearchParamDefinition(name="location", path="Condition.location.code", description="Location - may include laterality", type="token" )
@SearchParamDefinition(name = "location", path = "Condition.location.code", description = "Location - may include laterality", type = "token")
public static final String SP_LOCATION = "location";
@SearchParamDefinition(name="category", path="Condition.category", description="The category of the condition", type="token" )
@SearchParamDefinition(name = "category", path = "Condition.category", description = "The category of the condition", type = "token")
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name="following-code", path="Condition.occurredFollowing.codeableConcept", description="Relationship target by means of a predefined code", type="token" )
@SearchParamDefinition(name = "following-code", path = "Condition.occurredFollowing.codeableConcept", description = "Relationship target by means of a predefined code", type = "token")
public static final String SP_FOLLOWINGCODE = "following-code";
@SearchParamDefinition(name="status", path="Condition.status", description="The status of the condition", type="token" )
@SearchParamDefinition(name = "status", path = "Condition.status", description = "The status of the condition", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -169,15 +169,19 @@ public class Conformance extends DomainResource {
}
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 CLIENT:
return "The application acts as a client for this resource.";
case SERVER:
return "The application acts as a server for this resource.";
default: return "?";
}
}
public String getDisplay() {
switch (this) {
case CLIENT: return "Client";
case SERVER: return "Server";
case CLIENT:
return "Client";
case SERVER:
return "Server";
default: return "?";
}
}
@ -4621,105 +4625,105 @@ public class Conformance extends DomainResource {
/**
* The identifier that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI).
*/
@Child(name="identifier", type={StringType.class}, order=0, min=0, max=1)
@Child(name = "identifier", type = {StringType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Logical id to reference this statement", formalDefinition="The identifier that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI)." )
protected StringType identifier;
/**
* The identifier that is used to identify this version of the conformance statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.
*/
@Child(name="version", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "version", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Logical id for this version of the statement", formalDefinition="The identifier that is used to identify this version of the conformance statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp." )
protected StringType version;
/**
* A free text natural language name identifying the conformance statement.
*/
@Child(name="name", type={StringType.class}, order=2, min=0, max=1)
@Child(name = "name", type = {StringType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Informal name for this conformance statement", formalDefinition="A free text natural language name identifying the conformance statement." )
protected StringType name;
/**
* Name of Organization publishing this conformance statement.
*/
@Child(name="publisher", type={StringType.class}, order=3, min=1, max=1)
@Child(name = "publisher", type = {StringType.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="Publishing Organization", formalDefinition="Name of Organization publishing this conformance statement." )
protected StringType publisher;
/**
* Contacts for Organization relevant to this conformance statement. The contacts may be a website, email, phone numbers, etc.
*/
@Child(name="telecom", type={ContactPoint.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "telecom", type = {ContactPoint.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contacts for Organization", formalDefinition="Contacts for Organization relevant to this conformance statement. The contacts may be a website, email, phone numbers, etc." )
protected List<ContactPoint> telecom;
/**
* A free text natural language description of the conformance statement and its use. Typically, this is used when the profile 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={StringType.class}, order=5, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Human description of the conformance statement", formalDefinition="A free text natural language description of the conformance statement and its use. Typically, this is used when the profile describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP." )
protected StringType description;
/**
* The status of this conformance statement.
*/
@Child(name="status", type={CodeType.class}, order=6, min=0, max=1)
@Child(name = "status", type = {CodeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="draft | active | retired", formalDefinition="The status of this conformance statement." )
protected Enumeration<ConformanceStatementStatus> status;
/**
* A flag to indicate that this conformance 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=7, min=0, max=1)
@Child(name = "experimental", type = {BooleanType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="A flag to indicate that this conformance 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 conformance statement was published.
*/
@Child(name="date", type={DateTimeType.class}, order=8, min=1, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 8, min = 1, max = 1)
@Description(shortDefinition="Publication Date(/time)", formalDefinition="The date (and optionally time) when the conformance statement was published." )
protected DateTimeType date;
/**
* Software that is covered by this conformance statement. It is used when the profile describes the capabilities of a particular software version, independent of an installation.
*/
@Child(name="software", type={}, order=9, min=0, max=1)
@Child(name = "software", type = {}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Software that is covered by this conformance statement", formalDefinition="Software that is covered by this conformance statement. It is used when the profile describes the capabilities of a particular software version, independent of an installation." )
protected ConformanceSoftwareComponent software;
/**
* Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program.
*/
@Child(name="implementation", type={}, order=10, min=0, max=1)
@Child(name = "implementation", type = {}, order = 10, min = 0, max = 1)
@Description(shortDefinition="If this describes a specific instance", formalDefinition="Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program." )
protected ConformanceImplementationComponent implementation;
/**
* The version of the FHIR specification on which this conformance statement is based.
*/
@Child(name="fhirVersion", type={IdType.class}, order=11, min=1, max=1)
@Child(name = "fhirVersion", type = {IdType.class}, order = 11, min = 1, max = 1)
@Description(shortDefinition="FHIR Version", formalDefinition="The version of the FHIR specification on which this conformance statement is based." )
protected IdType fhirVersion;
/**
* A flag that indicates whether the application accepts unknown elements as part of a resource.
*/
@Child(name="acceptUnknown", type={BooleanType.class}, order=12, min=1, max=1)
@Child(name = "acceptUnknown", type = {BooleanType.class}, order = 12, min = 1, max = 1)
@Description(shortDefinition="True if application accepts unknown elements", formalDefinition="A flag that indicates whether the application accepts unknown elements as part of a resource." )
protected BooleanType acceptUnknown;
/**
* A list of the formats supported by this implementation.
*/
@Child(name="format", type={CodeType.class}, order=13, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "format", type = {CodeType.class}, order = 13, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="formats supported (xml | json | mime type)", formalDefinition="A list of the formats supported by this implementation." )
protected List<CodeType> format;
/**
* A list of profiles supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources, conformant to a particular profile, and allows its clients 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.
*/
@Child(name="profile", type={Profile.class}, order=14, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "profile", type = {Profile.class}, order = 14, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Profiles supported by the system", formalDefinition="A list of profiles supported by the system. For a server, 'supported by the system' means the system hosts/produces a set of resources, conformant to a particular profile, and allows its clients 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." )
protected List<Reference> profile;
/**
@ -4731,21 +4735,21 @@ public class Conformance extends DomainResource {
/**
* A definition of the restful capabilities of the solution, if any.
*/
@Child(name="rest", type={}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "rest", type = {}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="If the endpoint is a RESTful one", formalDefinition="A definition of the restful capabilities of the solution, if any." )
protected List<ConformanceRestComponent> rest;
/**
* A description of the messaging capabilities of the solution.
*/
@Child(name="messaging", type={}, order=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "messaging", type = {}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="If messaging is supported", formalDefinition="A description of the messaging capabilities of the solution." )
protected List<ConformanceMessagingComponent> messaging;
/**
* A document definition.
*/
@Child(name="document", type={}, order=17, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "document", type = {}, order = 17, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Document definition", formalDefinition="A document definition." )
protected List<ConformanceDocumentComponent> document;
@ -5625,38 +5629,38 @@ public class Conformance extends DomainResource {
return ResourceType.Conformance;
}
@SearchParamDefinition(name="date", path="Conformance.date", description="The conformance statement publication date", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="Conformance.identifier", description="The identifier of the conformance statement", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="software", path="Conformance.software.name", description="Part of a the name of a software application", type="string" )
public static final String SP_SOFTWARE = "software";
@SearchParamDefinition(name = "date", path = "Conformance.date", description = "The conformance statement publication date", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name = "identifier", path = "Conformance.identifier", description = "The identifier of the conformance statement", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "software", path = "Conformance.software.name", description = "Part of a the name of a software application", type = "string")
public static final String SP_SOFTWARE = "software";
@SearchParamDefinition(name="resource", path="Conformance.rest.resource.type", description="Name of a resource mentioned in a conformance statement", type="token" )
public static final String SP_RESOURCE = "resource";
@SearchParamDefinition(name="profile", path="Conformance.rest.resource.profile", description="A profile id invoked in a conformance statement", type="reference" )
public static final String SP_PROFILE = "profile";
@SearchParamDefinition(name = "profile", path = "Conformance.rest.resource.profile", description = "A profile id invoked in a conformance statement", type = "reference")
public static final String SP_PROFILE = "profile";
@SearchParamDefinition(name="format", path="Conformance.format", description="formats supported (xml | json | mime type)", type="token" )
public static final String SP_FORMAT = "format";
@SearchParamDefinition(name="description", path="Conformance.description", description="Text search in the description of the conformance statement", type="string" )
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name="fhirversion", path="Conformance.version", description="The version of FHIR", type="token" )
public static final String SP_FHIRVERSION = "fhirversion";
@SearchParamDefinition(name = "description", path = "Conformance.description", description = "Text search in the description of the conformance statement", type = "string")
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name = "fhirversion", path = "Conformance.version", description = "The version of FHIR", type = "token")
public static final String SP_FHIRVERSION = "fhirversion";
@SearchParamDefinition(name="version", path="Conformance.version", description="The version identifier of the conformance statement", type="token" )
public static final String SP_VERSION = "version";
@SearchParamDefinition(name="supported-profile", path="Conformance.profile", description="Profiles supported by the system", type="reference" )
public static final String SP_SUPPORTEDPROFILE = "supported-profile";
@SearchParamDefinition(name = "supported-profile", path = "Conformance.profile", description = "Profiles supported by the system", type = "reference")
public static final String SP_SUPPORTEDPROFILE = "supported-profile";
@SearchParamDefinition(name="mode", path="Conformance.rest.mode", description="Mode - restful (server/client) or messaging (sender/receiver)", type="token" )
public static final String SP_MODE = "mode";
@SearchParamDefinition(name="security", path="Conformance.rest.security", description="Information about security of implementation", type="token" )
public static final String SP_SECURITY = "security";
@SearchParamDefinition(name = "security", path = "Conformance.rest.security", description = "Information about security of implementation", type = "token")
public static final String SP_SECURITY = "security";
@SearchParamDefinition(name="name", path="Conformance.name", description="Name of the conformance statement", type="string" )
public static final String SP_NAME = "name";
@SearchParamDefinition(name="publisher", path="Conformance.publisher", description="Name of the publisher of the conformance statement", type="string" )
public static final String SP_PUBLISHER = "publisher";
@SearchParamDefinition(name="event", path="Conformance.messaging.event.code", description="Event code in a conformance statement", type="token" )
public static final String SP_EVENT = "event";
@SearchParamDefinition(name="status", path="Conformance.status", description="The current status of the conformance statement", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "publisher", path = "Conformance.publisher", description = "Name of the publisher of the conformance statement", type = "string")
public static final String SP_PUBLISHER = "publisher";
@SearchParamDefinition(name = "event", path = "Conformance.messaging.event.code", description = "Event code in a conformance statement", type = "token")
public static final String SP_EVENT = "event";
@SearchParamDefinition(name = "status", path = "Conformance.status", description = "The current status of the conformance statement", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -35,6 +35,6 @@ package org.hl7.fhir.instance.model;
public class Constants {
public final static String VERSION = "0.4.0";
public final static String REVISION = "4117";
public final static String DATE = "Wed Feb 18 12:09:23 EST 2015";
public final static String REVISION = "4117";
public final static String DATE = "Wed Feb 18 12:09:23 EST 2015";
}

View File

@ -41,7 +41,7 @@ import org.hl7.fhir.instance.model.annotations.DatatypeDef;
* 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 Type implements ICompositeType {
public class ContactPoint extends Type implements ICompositeType {
public enum ContactPointSystem {
/**
@ -260,28 +260,28 @@ public class ContactPoint extends Type implements ICompositeType {
/**
* Telecommunications form for contact point - what communications system is required to make use of the contact.
*/
@Child(name="system", type={CodeType.class}, order=0, min=0, max=1)
@Child(name = "system", type = {CodeType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="phone | fax | email | url", formalDefinition="Telecommunications form for contact point - what communications system is required to make use of the contact." )
protected Enumeration<ContactPointSystem> system;
/**
* The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
*/
@Child(name="value", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "value", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="The actual contact point details", formalDefinition="The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address)." )
protected StringType value;
/**
* Identifies the purpose for the contact point.
*/
@Child(name="use", type={CodeType.class}, order=2, min=0, max=1)
@Child(name = "use", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="home | work | temp | old | mobile - purpose of this contact point", formalDefinition="Identifies the purpose for the contact point." )
protected Enumeration<ContactPointUse> use;
/**
* Time period when the contact point was/is in use.
*/
@Child(name="period", type={Period.class}, order=3, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Time period when the contact point was/is in use", formalDefinition="Time period when the contact point was/is in use." )
protected Period period;

View File

@ -765,14 +765,14 @@ public class Contract extends DomainResource {
/**
* Unique Id for this contract.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contract identifier", formalDefinition="Unique Id for this contract." )
protected List<Identifier> identifier;
/**
* Who and/or what this is about: typically Patient, Organization, property.
*/
@Child(name="subject", type={}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "subject", type = {}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Subject", formalDefinition="Who and/or what this is about: typically Patient, Organization, property." )
protected List<Reference> subject;
/**
@ -784,7 +784,7 @@ public class Contract extends DomainResource {
/**
* 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, etc.
*/
@Child(name="authority", type={Organization.class}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "authority", type = {Organization.class}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Authority", formalDefinition="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, etc." )
protected List<Reference> authority;
/**
@ -796,7 +796,7 @@ public class Contract extends DomainResource {
/**
* A Location includes both incidental locations (a place which is used for healthcare without prior designation or authorization) and dedicated, formally appointed locations.
*/
@Child(name="domain", type={Location.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "domain", type = {Location.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Domain", formalDefinition="A Location includes both incidental locations (a place which is used for healthcare without prior designation or authorization) and dedicated, formally appointed locations." )
protected List<Reference> domain;
/**
@ -808,70 +808,70 @@ public class Contract extends DomainResource {
/**
* Type of contract (Privacy-Security, Agreement, Insurance).
*/
@Child(name="type", type={CodeableConcept.class}, order=4, min=0, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Type of contract", formalDefinition="Type of contract (Privacy-Security, Agreement, Insurance)." )
protected CodeableConcept type;
/**
* More specific type of contract (Privacy, Disclosure-Authorization, Advanced-Directive, DNR, Authorization-to-Treat).
*/
@Child(name="subtype", type={CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "subtype", type = {CodeableConcept.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Subtype of contract", formalDefinition="More specific type of contract (Privacy, Disclosure-Authorization, Advanced-Directive, DNR, Authorization-to-Treat)." )
protected List<CodeableConcept> subtype;
/**
* When this was issued.
*/
@Child(name="issued", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "issued", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="When this was issued", formalDefinition="When this was issued." )
protected DateTimeType issued;
/**
* Relevant time/time-period when applicable.
*/
@Child(name="applies", type={Period.class}, order=7, min=0, max=1)
@Child(name = "applies", type = {Period.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Effective time", formalDefinition="Relevant time/time-period when applicable." )
protected Period applies;
/**
* The number of repetitions of a service or product.
*/
@Child(name="quantity", type={Quantity.class}, order=8, min=0, max=1)
@Child(name = "quantity", type = {Quantity.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Count of Products or Services", formalDefinition="The number of repetitions of a service or product." )
protected Quantity quantity;
/**
* The unit price product.
*/
@Child(name="unitPrice", type={Money.class}, order=9, min=0, max=1)
@Child(name = "unitPrice", type = {Money.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Fee, charge or cost per point", formalDefinition="The unit price product." )
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=10, min=0, max=1)
@Child(name = "factor", type = {DecimalType.class}, order = 10, min = 0, max = 1)
@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;
/**
* An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point.
*/
@Child(name="points", type={DecimalType.class}, order=11, min=0, max=1)
@Child(name = "points", type = {DecimalType.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Difficulty scaling factor", formalDefinition="An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point." )
protected DecimalType points;
/**
* The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.
*/
@Child(name="net", type={Money.class}, order=12, min=0, max=1)
@Child(name = "net", type = {Money.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied." )
protected Money net;
/**
* Contract author or responsible party.
*/
@Child(name="author", type={Practitioner.class, RelatedPerson.class, Organization.class}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "author", type = {Practitioner.class, RelatedPerson.class, Organization.class}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contract author or responsible party", formalDefinition="Contract author or responsible party." )
protected List<Reference> author;
/**
@ -883,7 +883,7 @@ public class Contract extends DomainResource {
/**
* First Party to the contract, may be the party who confers or delegates the rights defined in the contract.
*/
@Child(name="grantor", type={Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order=14, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "grantor", type = {Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order = 14, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="First Party or delegator", formalDefinition="First Party to the contract, may be the party who confers or delegates the rights defined in the contract." )
protected List<Reference> grantor;
/**
@ -895,7 +895,7 @@ public class Contract extends DomainResource {
/**
* The Second party to the contract, may be the party who accepts obligations or be that to which rights are delegated.
*/
@Child(name="grantee", type={Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "grantee", type = {Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Second Party or delegatee", formalDefinition="The Second party to the contract, may be the party who accepts obligations or be that to which rights are delegated." )
protected List<Reference> grantee;
/**
@ -907,7 +907,7 @@ public class Contract extends DomainResource {
/**
* Who witnesses the contract.
*/
@Child(name="witness", type={Practitioner.class, RelatedPerson.class, Patient.class}, order=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "witness", type = {Practitioner.class, RelatedPerson.class, Patient.class}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Witness to the contract", formalDefinition="Who witnesses the contract." )
protected List<Reference> witness;
/**
@ -919,7 +919,7 @@ public class Contract extends DomainResource {
/**
* First Party to the contract, may be the party who confers or delegates the rights defined in the contract.
*/
@Child(name="executor", type={Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order=17, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "executor", type = {Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order = 17, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Trustee", formalDefinition="First Party to the contract, may be the party who confers or delegates the rights defined in the contract." )
protected List<Reference> executor;
/**
@ -931,7 +931,7 @@ public class Contract extends DomainResource {
/**
* First Party to the contract, may be the party who confers or delegates the rights defined in the contract.
*/
@Child(name="notary", type={Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order=18, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "notary", type = {Practitioner.class, RelatedPerson.class, Organization.class, Patient.class}, order = 18, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Notary Public", formalDefinition="First Party to the contract, may be the party who confers or delegates the rights defined in the contract." )
protected List<Reference> notary;
/**
@ -943,70 +943,70 @@ public class Contract extends DomainResource {
/**
* List or contract signatures.
*/
@Child(name="signer", type={}, order=19, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "signer", type = {}, order = 19, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Signer", formalDefinition="List or contract signatures." )
protected List<ContractSignerComponent> signer;
/**
* The itemized terms of the contract. The legal clause or conditions of the Contract that requires or prevents either one or both parties to perform a particular requirement by some specified time.
*/
@Child(name="term", type={}, order=20, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "term", type = {}, order = 20, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The terms of the Contract", formalDefinition="The itemized terms of the contract. The legal clause or conditions of the Contract that requires or prevents either one or both parties to perform a particular requirement by some specified time." )
protected List<ContractTermComponent> term;
/**
* Legally binding contract.
*/
@Child(name="binding", type={Attachment.class}, order=21, min=0, max=1)
@Child(name = "binding", type = {Attachment.class}, order = 21, min = 0, max = 1)
@Description(shortDefinition="Binding Contract", formalDefinition="Legally binding contract." )
protected Attachment binding;
/**
* Relevant time/time-period when applicable.
*/
@Child(name="bindingDateTime", type={DateTimeType.class}, order=22, min=0, max=1)
@Child(name = "bindingDateTime", type = {DateTimeType.class}, order = 22, min = 0, max = 1)
@Description(shortDefinition="Binding Contract effective time", formalDefinition="Relevant time/time-period when applicable." )
protected DateTimeType bindingDateTime;
/**
* Friendly Human readable form (might be a reference to the UI used to capture the contract).
*/
@Child(name="friendly", type={Attachment.class}, order=23, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "friendly", type = {Attachment.class}, order = 23, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Human readable contract text", formalDefinition="Friendly Human readable form (might be a reference to the UI used to capture the contract)." )
protected List<Attachment> friendly;
/**
* Relevant time/time-period when applicable.
*/
@Child(name="friendlyDateTime", type={DateTimeType.class}, order=24, min=0, max=1)
@Child(name = "friendlyDateTime", type = {DateTimeType.class}, order = 24, min = 0, max = 1)
@Description(shortDefinition="Human readable contract text effective time", formalDefinition="Relevant time/time-period when applicable." )
protected DateTimeType friendlyDateTime;
/**
* Legal text in Human readable form.
*/
@Child(name="legal", type={Attachment.class}, order=25, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "legal", type = {Attachment.class}, order = 25, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Legal contract text", formalDefinition="Legal text in Human readable form." )
protected List<Attachment> legal;
/**
* Relevant time/time-period when applicable.
*/
@Child(name="legalDateTime", type={DateTimeType.class}, order=26, min=0, max=1)
@Child(name = "legalDateTime", type = {DateTimeType.class}, order = 26, min = 0, max = 1)
@Description(shortDefinition="Legal contract text date time", formalDefinition="Relevant time/time-period when applicable." )
protected DateTimeType legalDateTime;
/**
* Computable Policy rules (e.g. XACML, DKAL, SecPal).
*/
@Child(name="rule", type={Attachment.class}, order=27, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "rule", type = {Attachment.class}, order = 27, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Computable contract text", formalDefinition="Computable Policy rules (e.g. XACML, DKAL, SecPal)." )
protected List<Attachment> rule;
/**
* Relevant time/time-period when applicable.
*/
@Child(name="ruleDateTime", type={DateTimeType.class}, order=28, min=0, max=1)
@Child(name = "ruleDateTime", type = {DateTimeType.class}, order = 28, min = 0, max = 1)
@Description(shortDefinition="Computable contract text effect time", formalDefinition="Relevant time/time-period when applicable." )
protected DateTimeType ruleDateTime;
@ -2279,8 +2279,8 @@ public class Contract extends DomainResource {
@SearchParamDefinition(name="subject", path="Contract.subject", description="The identity of the target of the contract", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="Contract.subject", description="The identity of the target of the contract (if a patient)", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "patient", path = "Contract.subject", description = "The identity of the target of the contract (if a patient)", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -248,7 +248,7 @@ public class Contraindication extends DomainResource {
/**
* Indicates the patient whose record the contraindication is associated with.
*/
@Child(name="patient", type={Patient.class}, order=0, min=0, max=1)
@Child(name = "patient", type = {Patient.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Associated patient", formalDefinition="Indicates the patient whose record the contraindication is associated with." )
protected Reference patient;
@ -260,21 +260,21 @@ public class Contraindication extends DomainResource {
/**
* Identifies the general type of issue identified.
*/
@Child(name="category", type={CodeableConcept.class}, order=1, min=0, max=1)
@Child(name = "category", type = {CodeableConcept.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="E.g. Drug-drug, duplicate therapy, etc.", formalDefinition="Identifies the general type of issue identified." )
protected CodeableConcept category;
/**
* 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=2, min=0, max=1)
@Child(name = "severity", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="high | medium | low", formalDefinition="Indicates the degree of importance associated with the identified issue based on the potential impact on the patient." )
protected CodeType severity;
/**
* Indicates the resource representing the current activity or proposed activity that.
*/
@Child(name="implicated", type={}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "implicated", type = {}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Problem resource", formalDefinition="Indicates the resource representing the current activity or proposed activity that." )
protected List<Reference> implicated;
/**
@ -286,21 +286,21 @@ public class Contraindication extends DomainResource {
/**
* A textual explanation of the contraindication.
*/
@Child(name="detail", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "detail", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Description and context", formalDefinition="A textual explanation of the contraindication." )
protected StringType detail;
/**
* The date or date-time when the contraindication was initially identified.
*/
@Child(name="date", type={DateTimeType.class}, order=5, min=0, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="When identified", formalDefinition="The date or date-time when the contraindication was initially identified." )
protected DateTimeType date;
/**
* Identifies the provider or software that identified the.
*/
@Child(name="author", type={Practitioner.class, Device.class}, order=6, min=0, max=1)
@Child(name = "author", type = {Practitioner.class, Device.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Who found issue?", formalDefinition="Identifies the provider or software that identified the." )
protected Reference author;
@ -312,21 +312,21 @@ public class Contraindication extends DomainResource {
/**
* Business identifier associated with the contraindication record.
*/
@Child(name="identifier", type={Identifier.class}, order=7, min=0, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Unique id for the contraindication", formalDefinition="Business identifier associated with the contraindication record." )
protected Identifier identifier;
/**
* The literature, knowledge-base or similar reference that describes the propensity for the contraindication identified.
*/
@Child(name="reference", type={UriType.class}, order=8, min=0, max=1)
@Child(name = "reference", type = {UriType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Authority for issue", formalDefinition="The literature, knowledge-base or similar reference that describes the propensity for the contraindication identified." )
protected UriType reference;
/**
* Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the contraindicaiton 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=9, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "mitigation", type = {}, order = 9, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Step taken to address", formalDefinition="Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the contraindicaiton from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action." )
protected List<ContraindicationMitigationComponent> mitigation;
@ -815,11 +815,11 @@ public class Contraindication extends DomainResource {
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="Contraindication.identifier", description="Unique id for the contraindication", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="patient", path="Contraindication.patient", description="Associated patient", type="reference" )
@SearchParamDefinition(name = "patient", path = "Contraindication.patient", description = "Associated patient", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="implicated", path="Contraindication.implicated", description="Problem resource", type="reference" )
@SearchParamDefinition(name = "implicated", path = "Contraindication.implicated", description = "Problem resource", type = "reference")
public static final String SP_IMPLICATED = "implicated";
@SearchParamDefinition(name="category", path="Contraindication.category", description="E.g. Drug-drug, duplicate therapy, etc.", type="token" )
@SearchParamDefinition(name = "category", path = "Contraindication.category", description = "E.g. Drug-drug, duplicate therapy, etc.", type = "token")
public static final String SP_CATEGORY = "category";
}

View File

@ -48,7 +48,7 @@ public class Coverage extends DomainResource {
/**
* The program or plan underwriter or payor.
*/
@Child(name="issuer", type={Organization.class}, order=0, min=0, max=1)
@Child(name = "issuer", type = {Organization.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="An identifier for the plan issuer", formalDefinition="The program or plan underwriter or payor." )
protected Reference issuer;
@ -60,63 +60,63 @@ 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=1, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 1, min = 0, max = 1)
@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 type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health.
*/
@Child(name="type", type={Coding.class}, order=2, min=0, max=1)
@Child(name = "type", type = {Coding.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Type of coverage", formalDefinition="The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health." )
protected Coding type;
/**
* The main (and possibly only) identifier for the coverage - often referred to as a Subscriber Id, Certificate number or Personal Health Number or Case ID.
*/
@Child(name="identifier", type={Identifier.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The primary coverage ID", formalDefinition="The main (and possibly only) identifier for the coverage - often referred to as a Subscriber Id, Certificate number or Personal Health Number or Case ID." )
protected List<Identifier> identifier;
/**
* Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
*/
@Child(name="group", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "group", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="An identifier for the group", formalDefinition="Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID." )
protected StringType group;
/**
* Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
*/
@Child(name="plan", type={StringType.class}, order=5, min=0, max=1)
@Child(name = "plan", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="An identifier for the plan", formalDefinition="Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID." )
protected StringType plan;
/**
* Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
*/
@Child(name="subplan", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "subplan", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="An identifier for the subsection of the plan", formalDefinition="Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID." )
protected StringType subplan;
/**
* A unique identifier for a dependent under the coverage.
*/
@Child(name="dependent", type={IntegerType.class}, order=7, min=0, max=1)
@Child(name = "dependent", type = {IntegerType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="The dependent number", formalDefinition="A unique identifier for a dependent under the coverage." )
protected IntegerType dependent;
/**
* An optional counter for a particular instance of the identified coverage which increments upon each renewal.
*/
@Child(name="sequence", type={IntegerType.class}, order=8, min=0, max=1)
@Child(name = "sequence", type = {IntegerType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="The plan instance or sequence counter", formalDefinition="An optional counter for a particular instance of the identified coverage which increments upon each renewal." )
protected IntegerType sequence;
/**
* The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due.
*/
@Child(name="subscriber", type={Patient.class}, order=9, min=0, max=1)
@Child(name = "subscriber", type = {Patient.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Plan holder information", formalDefinition="The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due." )
protected Reference subscriber;
@ -128,14 +128,14 @@ public class Coverage extends DomainResource {
/**
* The identifier for a community of providers.
*/
@Child(name="network", type={Identifier.class}, order=10, min=0, max=1)
@Child(name = "network", type = {Identifier.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Insurer network", formalDefinition="The identifier for a community of providers." )
protected Identifier network;
/**
* The policy(s) which constitute this insurance coverage.
*/
@Child(name="contract", type={Contract.class}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "contract", type = {Contract.class}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contract details", formalDefinition="The policy(s) which constitute this insurance coverage." )
protected List<Reference> contract;
/**
@ -712,20 +712,20 @@ public class Coverage extends DomainResource {
return ResourceType.Coverage;
}
@SearchParamDefinition(name="identifier", path="Coverage.identifier", description="The primary identifier of the insured", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "identifier", path = "Coverage.identifier", description = "The primary identifier of the insured", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="sequence", path="Coverage.sequence", description="Sequence number", type="token" )
public static final String SP_SEQUENCE = "sequence";
@SearchParamDefinition(name="subplan", path="Coverage.subplan", description="Sub-plan identifier", type="token" )
public static final String SP_SUBPLAN = "subplan";
@SearchParamDefinition(name="type", path="Coverage.type", description="The kind of coverage", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="plan", path="Coverage.plan", description="A plan or policy identifier", type="token" )
public static final String SP_PLAN = "plan";
@SearchParamDefinition(name = "subplan", path = "Coverage.subplan", description = "Sub-plan identifier", type = "token")
public static final String SP_SUBPLAN = "subplan";
@SearchParamDefinition(name = "type", path = "Coverage.type", description = "The kind of coverage", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "plan", path = "Coverage.plan", description = "A plan or policy identifier", type = "token")
public static final String SP_PLAN = "plan";
@SearchParamDefinition(name="dependent", path="Coverage.dependent", description="Dependent number", type="token" )
public static final String SP_DEPENDENT = "dependent";
@SearchParamDefinition(name="issuer", path="Coverage.issuer", description="The identity of the insurer", type="reference" )
public static final String SP_ISSUER = "issuer";
@SearchParamDefinition(name = "issuer", path = "Coverage.issuer", description = "The identity of the insurer", type = "reference")
public static final String SP_ISSUER = "issuer";
@SearchParamDefinition(name="group", path="Coverage.group", description="Group identifier", type="token" )
public static final String SP_GROUP = "group";

View File

@ -964,154 +964,154 @@ public class DataElement extends DomainResource {
/**
* The identifier that is used to identify this data element when it is referenced in a Profile, Questionnaire or an instance.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Logical id to reference this data element", formalDefinition="The identifier that is used to identify this data element when it is referenced in a Profile, Questionnaire or an instance." )
protected Identifier identifier;
/**
* The identifier that is used to identify this version of the data element when it is referenced in a Profile, Questionnaire or instance. This is an arbitrary value managed by the definition author manually.
*/
@Child(name="version", type={StringType.class}, order=1, min=0, max=1)
@Child(name = "version", type = {StringType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Logical id for this version of the data element", formalDefinition="The identifier that is used to identify this version of the data element when it is referenced in a Profile, Questionnaire or instance. This is an arbitrary value managed by the definition author manually." )
protected StringType version;
/**
* Details of the individual or organization who accepts responsibility for publishing the data element.
*/
@Child(name="publisher", type={StringType.class}, order=2, min=0, max=1)
@Child(name = "publisher", type = {StringType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Name of the publisher (Organization or individual)", formalDefinition="Details of the individual or organization who accepts responsibility for publishing the data element." )
protected StringType publisher;
/**
* Contact details to assist a user in finding and communicating with the publisher.
*/
@Child(name="telecom", type={ContactPoint.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "telecom", type = {ContactPoint.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contact information of the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
protected List<ContactPoint> telecom;
/**
* The status of the data element.
*/
@Child(name="status", type={CodeType.class}, order=4, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 4, min = 1, max = 1)
@Description(shortDefinition="draft | active | retired", formalDefinition="The status of the data element." )
protected Enumeration<ResourceObservationDefStatus> status;
/**
* The date that the status for this business version of the data element became effective. (I.e. Date the draft was created, date element became active or date element became retired).
*/
@Child(name="date", type={DateTimeType.class}, order=5, min=0, max=1)
@Child(name = "date", type = {DateTimeType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Date for this version of the data element", formalDefinition="The date that the status for this business version of the data element became effective. (I.e. Date the draft was created, date element became active or date element became retired)." )
protected DateTimeType date;
/**
* The term used by humans to refer to the data element. Should ideally be unique within the context in which the data element is expected to be used.
*/
@Child(name="name", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "name", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Descriptive label for this element definition", formalDefinition="The term used by humans to refer to the data element. Should ideally be unique within the context in which the data element is expected to be used." )
protected StringType name;
/**
* A set of terms from external terminologies that may be used to assist with indexing and searching of data element definitions.
*/
@Child(name="category", type={CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "category", type = {CodeableConcept.class}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Assist with indexing and finding", formalDefinition="A set of terms from external terminologies that may be used to assist with indexing and searching of data element definitions." )
protected List<CodeableConcept> category;
/**
* Identifies how precise the data element is in its definition.
*/
@Child(name="granularity", type={CodeType.class}, order=8, min=0, max=1)
@Child(name = "granularity", type = {CodeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="comparable | fully-specified | equivalent | convertable | scaleable | flexible", formalDefinition="Identifies how precise the data element is in its definition." )
protected Enumeration<DataelementGranularity> granularity;
/**
* A code that provides the meaning for a data element according to a particular terminology.
*/
@Child(name="code", type={Coding.class}, order=9, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "code", type = {Coding.class}, order = 9, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Identifying concept", formalDefinition="A code that provides the meaning for a data element according to a particular terminology." )
protected List<Coding> code;
/**
* The default/suggested phrasing to use when prompting a human to capture the data element in question form (e.g. In a survey).
*/
@Child(name="question", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "question", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Prompt for element phrased as question", formalDefinition="The default/suggested phrasing to use when prompting a human to capture the data element in question form (e.g. In a survey)." )
protected StringType question;
/**
* The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.
*/
@Child(name="label", type={StringType.class}, order=11, min=0, max=1)
@Child(name = "label", type = {StringType.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Name for element to display with or prompt for element", formalDefinition="The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form." )
protected StringType label;
/**
* Provides a complete explanation of the meaning of the data element for human readability.
*/
@Child(name="definition", type={StringType.class}, order=12, min=0, max=1)
@Child(name = "definition", type = {StringType.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Definition/description as narrative text", formalDefinition="Provides a complete explanation of the meaning of the data element for human readability." )
protected StringType definition;
/**
* Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc.
*/
@Child(name="comments", type={StringType.class}, order=13, min=0, max=1)
@Child(name = "comments", type = {StringType.class}, order = 13, min = 0, max = 1)
@Description(shortDefinition="Comments about the use of this element", formalDefinition="Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc." )
protected StringType comments;
/**
* Explains why this element is needed and why it's been constrained as it has.
*/
@Child(name="requirements", type={StringType.class}, order=14, min=0, max=1)
@Child(name = "requirements", type = {StringType.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Why is this needed?", formalDefinition="Explains why this element is needed and why it's been constrained as it has." )
protected StringType requirements;
/**
* Identifies additional names by which this element might also be known.
*/
@Child(name="synonym", type={StringType.class}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "synonym", type = {StringType.class}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Other names", formalDefinition="Identifies additional names by which this element might also be known." )
protected List<StringType> synonym;
/**
* The FHIR data type that is the type for data that corresponds to this data element.
*/
@Child(name="type", type={CodeType.class}, order=16, min=0, max=1)
@Child(name = "type", type = {CodeType.class}, order = 16, min = 0, max = 1)
@Description(shortDefinition="Name of Data type", formalDefinition="The FHIR data type that is the type for data that corresponds to this data element." )
protected CodeType type;
/**
* A sample value for this element demonstrating the type of information that would typically be captured.
*/
@Child(name="example", type={}, order=17, min=0, max=1)
@Child(name = "example", type = {}, order = 17, min = 0, max = 1)
@Description(shortDefinition="Example value: [as defined for type]", formalDefinition="A sample value for this element demonstrating the type of information that would typically be captured." )
protected org.hl7.fhir.instance.model.Type example;
/**
* Indicates the shortest length that SHALL be supported by conformant instances without truncation.
*/
@Child(name="maxLength", type={IntegerType.class}, order=18, min=0, max=1)
@Child(name = "maxLength", type = {IntegerType.class}, order = 18, min = 0, max = 1)
@Description(shortDefinition="Length for strings", formalDefinition="Indicates the shortest length that SHALL be supported by conformant instances without truncation." )
protected IntegerType maxLength;
/**
* Identifies the units of measure in which the data element should be captured or expressed.
*/
@Child(name="units", type={CodeableConcept.class, ValueSet.class}, order=19, min=0, max=1)
@Child(name = "units", type = {CodeableConcept.class, ValueSet.class}, order = 19, min = 0, max = 1)
@Description(shortDefinition="Units to use for measured value", formalDefinition="Identifies the units of measure in which the data element should be captured or expressed." )
protected Type units;
/**
* Binds to a value set if this element is coded (code, Coding, CodeableConcept).
*/
@Child(name="binding", type={}, order=20, min=0, max=1)
@Child(name = "binding", type = {}, order = 20, min = 0, max = 1)
@Description(shortDefinition="ValueSet details if this is coded", formalDefinition="Binds to a value set if this element is coded (code, Coding, CodeableConcept)." )
protected DataElementBindingComponent binding;
/**
* Identifies a concept from an external specification that roughly corresponds to this element.
*/
@Child(name="mapping", type={}, order=21, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "mapping", type = {}, order = 21, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Map element to another set of definitions", formalDefinition="Identifies a concept from an external specification that roughly corresponds to this element." )
protected List<DataElementMappingComponent> mapping;
@ -2163,20 +2163,20 @@ public class DataElement extends DomainResource {
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="DataElement.identifier", description="The identifier of the data element", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="code", path="DataElement.code", description="A code for the data element (server may choose to do subsumption)", type="token" )
public static final String SP_CODE = "code";
@SearchParamDefinition(name="name", path="DataElement.name", description="Name of the data element", type="string" )
public static final String SP_NAME = "name";
@SearchParamDefinition(name = "code", path = "DataElement.code", description = "A code for the data element (server may choose to do subsumption)", type = "token")
public static final String SP_CODE = "code";
@SearchParamDefinition(name = "name", path = "DataElement.name", description = "Name of the data element", type = "string")
public static final String SP_NAME = "name";
@SearchParamDefinition(name="publisher", path="DataElement.publisher", description="Name of the publisher of the data element", type="string" )
public static final String SP_PUBLISHER = "publisher";
@SearchParamDefinition(name="description", path="DataElement.definition", description="Text search in the description of the data element", type="string" )
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name="category", path="DataElement.category", description="A category assigned to the data element (server may choose to do subsumption)", type="token" )
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name = "description", path = "DataElement.definition", description = "Text search in the description of the data element", type = "string")
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name = "category", path = "DataElement.category", description = "A category assigned to the data element (server may choose to do subsumption)", type = "token")
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name="version", path="DataElement.version", description="The version identifier of the data element", type="string" )
public static final String SP_VERSION = "version";
@SearchParamDefinition(name="status", path="DataElement.status", description="The current status of the data element", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "status", path = "DataElement.status", description = "The current status of the data element", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -48,63 +48,63 @@ public class Device extends DomainResource {
/**
* Unique instance identifiers assigned to a device by organizations like manufacturers, owners or regulatory agencies. If the identifier identifies the type of device, Device.type should be used. An example is the FDA Mandated Unique Device Identifier (UDI) which identifies an instance of a device uniquely if the serial number is present, . - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Instance id from manufacturer, owner, regulatory agencies and others", formalDefinition="Unique instance identifiers assigned to a device by organizations like manufacturers, owners or regulatory agencies. If the identifier identifies the type of device, Device.type should be used. An example is the FDA Mandated Unique Device Identifier (UDI) which identifies an instance of a device uniquely if the serial number is present, . - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm." )
protected List<Identifier> identifier;
/**
* Code or identifier to identify a kind of device An example is the FDA Mandated Unique Device Identifier (UDI) which identifies a type of a device when the serial number is absent, otherwise it uniquely identifies the device instance and Device.identifier should be used instead of Device.type. - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm.
*/
@Child(name="type", type={CodeableConcept.class}, order=1, min=1, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="What kind of device this is", formalDefinition="Code or identifier to identify a kind of device An example is the FDA Mandated Unique Device Identifier (UDI) which identifies a type of a device when the serial number is absent, otherwise it uniquely identifies the device instance and Device.identifier should be used instead of Device.type. - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm." )
protected CodeableConcept type;
/**
* A name of the manufacturer.
*/
@Child(name="manufacturer", type={StringType.class}, order=2, min=0, max=1)
@Child(name = "manufacturer", type = {StringType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Name of device manufacturer", formalDefinition="A name of the manufacturer." )
protected StringType manufacturer;
/**
* The "model" - an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type.
*/
@Child(name="model", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "model", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Model id assigned by the manufacturer", formalDefinition="The 'model' - an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type." )
protected StringType model;
/**
* The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware.
*/
@Child(name="version", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "version", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Version number (i.e. software)", formalDefinition="The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware." )
protected StringType version;
/**
* The Date and time when the device was manufactured.
*/
@Child(name="manufactureDate", type={DateTimeType.class}, order=5, min=0, max=1)
@Child(name = "manufactureDate", type = {DateTimeType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Manufacture date", formalDefinition="The Date and time when the device was manufactured." )
protected DateTimeType manufactureDate;
/**
* The date and time beyond which this device is no longer valid or should not be used (if applicable).
*/
@Child(name="expiry", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "expiry", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Date and time of expiry of this device (if applicable)", formalDefinition="The date and time beyond which this device is no longer valid or should not be used (if applicable)." )
protected DateTimeType expiry;
/**
* Lot number assigned by the manufacturer.
*/
@Child(name="lotNumber", type={StringType.class}, order=7, min=0, max=1)
@Child(name = "lotNumber", type = {StringType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Lot number of manufacture", formalDefinition="Lot number assigned by the manufacturer." )
protected StringType lotNumber;
/**
* An organization that is responsible for the provision and ongoing maintenance of the device.
*/
@Child(name="owner", type={Organization.class}, order=8, min=0, max=1)
@Child(name = "owner", type = {Organization.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Organization responsible for device", formalDefinition="An organization that is responsible for the provision and ongoing maintenance of the device." )
protected Reference owner;
@ -116,7 +116,7 @@ public class Device extends DomainResource {
/**
* The resource may be found in a literal location (i.e. GPS coordinates), a logical place (i.e. "in/with the patient"), or a coded location.
*/
@Child(name="location", type={Location.class}, order=9, min=0, max=1)
@Child(name = "location", type = {Location.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Where the resource is found", formalDefinition="The resource may be found in a literal location (i.e. GPS coordinates), a logical place (i.e. 'in/with the patient'), or a coded location." )
protected Reference location;
@ -128,7 +128,7 @@ public class Device extends DomainResource {
/**
* Patient information, if the resource is affixed to a person.
*/
@Child(name="patient", type={Patient.class}, order=10, min=0, max=1)
@Child(name = "patient", type = {Patient.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="If the resource is affixed to a person", formalDefinition="Patient information, if the resource is affixed to a person." )
protected Reference patient;
@ -140,14 +140,14 @@ public class Device extends DomainResource {
/**
* Contact details for an organization or a particular human that is responsible for the device.
*/
@Child(name="contact", type={ContactPoint.class}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "contact", type = {ContactPoint.class}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@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<ContactPoint> contact;
/**
* A network address on which the device may be contacted directly.
*/
@Child(name="url", type={UriType.class}, order=12, min=0, max=1)
@Child(name = "url", type = {UriType.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="Network address to contact device", formalDefinition="A network address on which the device may be contacted directly." )
protected UriType url;
@ -809,10 +809,10 @@ public class Device extends DomainResource {
return ResourceType.Device;
}
@SearchParamDefinition(name="identifier", path="Device.identifier", description="Instance id from manufacturer, owner, regulatory agencies and others", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="patient", path="Device.patient", description="Patient information, if the resource is affixed to a person", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "identifier", path = "Device.identifier", description = "Instance id from manufacturer, owner, regulatory agencies and others", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "patient", path = "Device.patient", description = "Patient information, if the resource is affixed to a person", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="organization", path="Device.owner", description="The organization responsible for the device", type="reference" )
public static final String SP_ORGANIZATION = "organization";
@SearchParamDefinition(name="model", path="Device.model", description="The model of the device", type="string" )
@ -821,8 +821,8 @@ public class Device extends DomainResource {
public static final String SP_LOCATION = "location";
@SearchParamDefinition(name="type", path="Device.type", description="The type of the device", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="manufacturer", path="Device.manufacturer", description="The manufacturer of the device", type="string" )
public static final String SP_MANUFACTURER = "manufacturer";
@SearchParamDefinition(name = "manufacturer", path = "Device.manufacturer", description = "The manufacturer of the device", type = "string")
public static final String SP_MANUFACTURER = "manufacturer";
}

View File

@ -416,28 +416,28 @@ public class DeviceComponent extends DomainResource {
/**
* Describes the specific component type as defined in the object-oriented or metric nomenclature partition.
*/
@Child(name="type", type={CodeableConcept.class}, order=0, min=1, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="What kind of component it is", formalDefinition="Describes the specific component type as defined in the object-oriented or metric nomenclature partition." )
protected CodeableConcept type;
/**
* Describes the local assigned unique identification by the software. For example: handle ID.
*/
@Child(name="identifier", type={Identifier.class}, order=1, min=1, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Instance id assigned by the software stack", formalDefinition="Describes the local assigned unique identification by the software. For example: handle ID." )
protected Identifier identifier;
/**
* Describes the timestamp for the most recent system change which includes device configuration or setting change.
*/
@Child(name="lastSystemChange", type={InstantType.class}, order=2, min=1, max=1)
@Child(name = "lastSystemChange", type = {InstantType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="Recent system change timestamp", formalDefinition="Describes the timestamp for the most recent system change which includes device configuration or setting change." )
protected InstantType lastSystemChange;
/**
* Describes the link to the source Device that contains administrative device information such as manufacture, serial number, etc.
*/
@Child(name="source", type={Device.class}, order=3, min=0, max=1)
@Child(name = "source", type = {Device.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="A source device of this component", formalDefinition="Describes the link to the source Device that contains administrative device information such as manufacture, serial number, etc." )
protected Reference source;
@ -449,7 +449,7 @@ public class DeviceComponent extends DomainResource {
/**
* Describes the link to the parent resource. For example: Channel is linked to its VMD parent.
*/
@Child(name="parent", type={DeviceComponent.class}, order=4, min=0, max=1)
@Child(name = "parent", type = {DeviceComponent.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Parent resource link", formalDefinition="Describes the link to the parent resource. For example: Channel is linked to its VMD parent." )
protected Reference parent;
@ -461,35 +461,35 @@ public class DeviceComponent extends DomainResource {
/**
* Indicates current operational status of the device. For example: On, Off, Standby, etc.
*/
@Child(name="operationalStatus", type={CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "operationalStatus", type = {CodeableConcept.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Component operational status", formalDefinition="Indicates current operational status of the device. For example: On, Off, Standby, etc." )
protected List<CodeableConcept> operationalStatus;
/**
* Describes the parameter group supported by the current device component that is based on some nomenclature, e.g., cardiovascular.
*/
@Child(name="parameterGroup", type={CodeableConcept.class}, order=6, min=0, max=1)
@Child(name = "parameterGroup", type = {CodeableConcept.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Current supported parameter group", formalDefinition="Describes the parameter group supported by the current device component that is based on some nomenclature, e.g., cardiovascular." )
protected CodeableConcept parameterGroup;
/**
* Describes the physical principle of the measurement. For example: thermal, chemical, acoustical, etc.
*/
@Child(name="measurementPrinciple", type={CodeType.class}, order=7, min=0, max=1)
@Child(name = "measurementPrinciple", type = {CodeType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+", formalDefinition="Describes the physical principle of the measurement. For example: thermal, chemical, acoustical, etc." )
protected Enumeration<MeasurementPrinciple> measurementPrinciple;
/**
* Describes the production specification such as component revision, serial number, etc.
*/
@Child(name="productionSpecification", type={}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "productionSpecification", type = {}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Production specification of the component", formalDefinition="Describes the production specification such as component revision, serial number, etc." )
protected List<DeviceComponentProductionSpecificationComponent> productionSpecification;
/**
* Describes the language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-US.
*/
@Child(name="languageCode", type={CodeableConcept.class}, order=9, min=0, max=1)
@Child(name = "languageCode", type = {CodeableConcept.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Language code for the human-readable text strings produced by the device", formalDefinition="Describes the language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-US." )
protected CodeableConcept languageCode;
@ -927,7 +927,7 @@ public class DeviceComponent extends DomainResource {
@SearchParamDefinition(name="parent", path="DeviceComponent.parent", description="The parent DeviceComponent resource", type="reference" )
public static final String SP_PARENT = "parent";
@SearchParamDefinition(name="source", path="DeviceComponent.source", description="The device source", type="reference" )
@SearchParamDefinition(name = "source", path = "DeviceComponent.source", description = "The device source", type = "reference")
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name="type", path="DeviceComponent.type", description="The device component type", type="token" )
public static final String SP_TYPE = "type";

View File

@ -655,29 +655,29 @@ public class DeviceMetric extends Resource {
/**
* Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc.
*/
@Child(name="type", type={CodeableConcept.class}, order=0, min=1, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="Type of metric", formalDefinition="Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc." )
protected CodeableConcept type;
/**
* Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
* Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device.
*/
@Child(name="identifier", type={Identifier.class}, order=1, min=1, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="Unique identifier of this DeviceMetric", formalDefinition="Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. \nIt should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device." )
protected Identifier identifier;
/**
* Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc.
*/
@Child(name="unit", type={CodeableConcept.class}, order=2, min=0, max=1)
@Child(name = "unit", type = {CodeableConcept.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Unit of metric", formalDefinition="Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc." )
protected CodeableConcept unit;
/**
* Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc.
*/
@Child(name="source", type={Device.class}, order=3, min=0, max=1)
@Child(name = "source", type = {Device.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Describes the link to the source Device", formalDefinition="Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc." )
protected Reference source;
@ -687,15 +687,15 @@ It should be noted that in order to make the identifier unique, the system eleme
protected Device sourceTarget;
/**
* Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.
*/
@Child(name="parent", type={DeviceComponent.class}, order=4, min=0, max=1)
@Child(name = "parent", type = {DeviceComponent.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Describes the link to the parent DeviceComponent", formalDefinition="Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.\nAn example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location." )
protected Reference parent;
/**
* The actual object that is the target of the reference (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* The actual object that is the target of the reference (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.)
*/
protected DeviceComponent parentTarget;
@ -703,44 +703,44 @@ An example would be a DeviceComponent that represents a Channel. This reference
/**
* Indicates current operational state of the device. For example: On, Off, Standby, etc.
*/
@Child(name="operationalState", type={CodeType.class}, order=5, min=0, max=1)
@Child(name = "operationalState", type = {CodeType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="on | off | standby", formalDefinition="Indicates current operational state of the device. For example: On, Off, Standby, etc." )
protected Enumeration<MetricOperationalStatus> operationalState;
/**
* Describes the physical principle of the measurement. For example: thermal, chemical, acoustical, etc.
*/
@Child(name="measurementMode", type={Identifier.class}, order=6, min=0, max=1)
@Child(name = "measurementMode", type = {Identifier.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Describes the physical principle of the measurement", formalDefinition="Describes the physical principle of the measurement. For example: thermal, chemical, acoustical, etc." )
protected Identifier measurementMode;
/**
* Describes the typical color of the representation of observations that have been generated for this DeviceMetric.
*/
@Child(name="color", type={Identifier.class}, order=7, min=0, max=1)
@Child(name = "color", type = {Identifier.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Describes the typical color of representation", formalDefinition="Describes the typical color of the representation of observations that have been generated for this DeviceMetric." )
protected Identifier color;
/**
* Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation.
*/
@Child(name="category", type={CodeType.class}, order=8, min=1, max=1)
@Child(name = "category", type = {CodeType.class}, order = 8, min = 1, max = 1)
@Description(shortDefinition="measurement | setting | calculation | unspecified", formalDefinition="Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation." )
protected Enumeration<MetricCategory> category;
/**
* Describes the measurement repetition time. This is not
necessarily the same as the update
* Describes the measurement repetition time. This is not
necessarily the same as the update
period.
*/
@Child(name="measurementPeriod", type={Timing.class}, order=9, min=0, max=1)
@Child(name = "measurementPeriod", type = {Timing.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Describes the measurement repetition time", formalDefinition="Describes the measurement repetition time. This is not\nnecessarily the same as the update\nperiod." )
protected Timing measurementPeriod;
/**
* Describes the calibrations that have been performed or that are required to be performed.
*/
@Child(name="calibrationInfo", type={}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "calibrationInfo", type = {}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Describes the calibrations that have been performed or that are required to be performed", formalDefinition="Describes the calibrations that have been performed or that are required to be performed." )
protected List<DeviceMetricCalibrationInfoComponent> calibrationInfo;
@ -782,7 +782,7 @@ period.
}
/**
* @return {@link #identifier} (Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
* @return {@link #identifier} (Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device.)
*/
public Identifier getIdentifier() {
@ -799,7 +799,7 @@ It should be noted that in order to make the identifier unique, the system eleme
}
/**
* @param value {@link #identifier} (Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
* @param value {@link #identifier} (Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID.
It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device.)
*/
public DeviceMetric setIdentifier(Identifier value) {
@ -876,7 +876,7 @@ It should be noted that in order to make the identifier unique, the system eleme
}
/**
* @return {@link #parent} (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* @return {@link #parent} (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.)
*/
public Reference getParent() {
@ -893,7 +893,7 @@ An example would be a DeviceComponent that represents a Channel. This reference
}
/**
* @param value {@link #parent} (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* @param value {@link #parent} (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.)
*/
public DeviceMetric setParent(Reference value) {
@ -902,7 +902,7 @@ An example would be a DeviceComponent that represents a Channel. This reference
}
/**
* @return {@link #parent} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* @return {@link #parent} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.)
*/
public DeviceComponent getParentTarget() {
@ -915,7 +915,7 @@ An example would be a DeviceComponent that represents a Channel. This reference
}
/**
* @param value {@link #parent} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
* @param value {@link #parent} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device.
An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.)
*/
public DeviceMetric setParentTarget(DeviceComponent value) {
@ -1066,8 +1066,8 @@ An example would be a DeviceComponent that represents a Channel. This reference
}
/**
* @return {@link #measurementPeriod} (Describes the measurement repetition time. This is not
necessarily the same as the update
* @return {@link #measurementPeriod} (Describes the measurement repetition time. This is not
necessarily the same as the update
period.)
*/
public Timing getMeasurementPeriod() {
@ -1084,8 +1084,8 @@ period.)
}
/**
* @param value {@link #measurementPeriod} (Describes the measurement repetition time. This is not
necessarily the same as the update
* @param value {@link #measurementPeriod} (Describes the measurement repetition time. This is not
necessarily the same as the update
period.)
*/
public DeviceMetric setMeasurementPeriod(Timing value) {
@ -1205,12 +1205,12 @@ period.)
public static final String SP_PARENT = "parent";
@SearchParamDefinition(name="identifier", path="DeviceMetric.identifier", description="The identifier of the metric", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="source", path="DeviceMetric.source", description="The device resource", type="reference" )
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name="type", path="DeviceMetric.type", description="The component type", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="category", path="DeviceMetric.category", description="The category of the metric", type="token" )
public static final String SP_CATEGORY = "category";
@SearchParamDefinition(name = "source", path = "DeviceMetric.source", description = "The device resource", type = "reference")
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name = "type", path = "DeviceMetric.type", description = "The component type", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "category", path = "DeviceMetric.category", description = "The category of the metric", type = "token")
public static final String SP_CATEGORY = "category";
}

View File

@ -332,21 +332,21 @@ public class DeviceUseRequest extends DomainResource {
/**
* Body site where the device is to be used.
*/
@Child(name="bodySite", type={CodeableConcept.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "bodySite", type = {CodeableConcept.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Target body site", formalDefinition="Body site where the device is to be used." )
protected List<CodeableConcept> bodySite;
/**
* The status of the request.
*/
@Child(name="status", type={CodeType.class}, order=1, min=0, max=1)
@Child(name = "status", type = {CodeType.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | aborted", formalDefinition="The status of the request." )
protected Enumeration<DeviceUseRequestStatus> status;
/**
* The details of the device to be used.
*/
@Child(name="device", type={Device.class}, order=2, min=1, max=1)
@Child(name = "device", type = {Device.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="Device requested", formalDefinition="The details of the device to be used." )
protected Reference device;
@ -358,7 +358,7 @@ public class DeviceUseRequest extends DomainResource {
/**
* An encounter that provides additional context in which this request is made.
*/
@Child(name="encounter", type={Encounter.class}, order=3, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Encounter motivating request", formalDefinition="An encounter that provides additional context in which this request is made." )
protected Reference encounter;
@ -370,49 +370,49 @@ public class DeviceUseRequest extends DomainResource {
/**
* Identifiers assigned to this order by the orderer or by the receiver.
*/
@Child(name="identifier", type={Identifier.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Request identifier", formalDefinition="Identifiers assigned to this order by the orderer or by the receiver." )
protected List<Identifier> identifier;
/**
* Reason or justification for the use of this device.
*/
@Child(name="indication", type={CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "indication", type = {CodeableConcept.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Reason for request", formalDefinition="Reason or justification for the use of this device." )
protected List<CodeableConcept> indication;
/**
* 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="notes", type={StringType.class}, order=6, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "notes", type = {StringType.class}, order = 6, min = 0, max = Child.MAX_UNLIMITED)
@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<StringType> notes;
/**
* The proposed act must be performed if the indicated conditions occur, e.g.., shortness of breath, SpO2 less than x%.
*/
@Child(name="prnReason", type={CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "prnReason", type = {CodeableConcept.class}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="PRN", formalDefinition="The proposed act must be performed if the indicated conditions occur, e.g.., shortness of breath, SpO2 less than x%." )
protected List<CodeableConcept> prnReason;
/**
* The time when the request was made.
*/
@Child(name="orderedOn", type={DateTimeType.class}, order=8, min=0, max=1)
@Child(name = "orderedOn", type = {DateTimeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="When ordered", formalDefinition="The time when the request was made." )
protected DateTimeType orderedOn;
/**
* The time at which the request was made/recorded.
*/
@Child(name="recordedOn", type={DateTimeType.class}, order=9, min=0, max=1)
@Child(name = "recordedOn", type = {DateTimeType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="When recorded", formalDefinition="The time at which the request was made/recorded." )
protected DateTimeType recordedOn;
/**
* The patient who will use the device.
*/
@Child(name="subject", type={Patient.class}, order=10, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 10, min = 1, max = 1)
@Description(shortDefinition="Focus of request", formalDefinition="The patient who will use the device." )
protected Reference subject;
@ -424,14 +424,14 @@ public class DeviceUseRequest extends DomainResource {
/**
* The timing schedule for the use of the device The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".
*/
@Child(name="timing", type={Timing.class, Period.class, DateTimeType.class}, order=11, min=0, max=1)
@Child(name = "timing", type = {Timing.class, Period.class, DateTimeType.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Schedule for use", formalDefinition="The timing schedule for the use of the device The Schedule data type allows many different expressions, for example. 'Every 8 hours'; 'Three times a day'; '1/2 an hour before breakfast for 10 days from 23-Dec 2011:'; '15 Oct 2013, 17 Oct 2013 and 1 Nov 2013'." )
protected Type timing;
/**
* Characterizes how quickly the use of device must be initiated. Includes concepts such as stat, urgent, routine.
*/
@Child(name="priority", type={CodeType.class}, order=12, min=0, max=1)
@Child(name = "priority", type = {CodeType.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="routine | urgent | stat | asap", formalDefinition="Characterizes how quickly the use of device must be initiated. Includes concepts such as stat, urgent, routine." )
protected Enumeration<DeviceUseRequestPriority> priority;
@ -1096,8 +1096,8 @@ public class DeviceUseRequest extends DomainResource {
@SearchParamDefinition(name="subject", path="DeviceUseRequest.subject", description="Search by subject", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="DeviceUseRequest.subject", description="Search by subject - a patient", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "patient", path = "DeviceUseRequest.subject", description = "Search by subject - a patient", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -48,21 +48,21 @@ public class DeviceUseStatement extends DomainResource {
/**
* Body site where the device was used.
*/
@Child(name="bodySite", type={CodeableConcept.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "bodySite", type = {CodeableConcept.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="", formalDefinition="Body site where the device was used." )
protected List<CodeableConcept> bodySite;
/**
* The time period over which the device was used.
*/
@Child(name="whenUsed", type={Period.class}, order=1, min=0, max=1)
@Child(name = "whenUsed", type = {Period.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="", formalDefinition="The time period over which the device was used." )
protected Period whenUsed;
/**
* The details of the device used.
*/
@Child(name="device", type={Device.class}, order=2, min=1, max=1)
@Child(name = "device", type = {Device.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="", formalDefinition="The details of the device used." )
protected Reference device;
@ -74,35 +74,35 @@ public class DeviceUseStatement extends DomainResource {
/**
* An external identifier for this statement such as an IRI.
*/
@Child(name="identifier", type={Identifier.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="", formalDefinition="An external identifier for this statement such as an IRI." )
protected List<Identifier> identifier;
/**
* Reason or justification for the use of the device.
*/
@Child(name="indication", type={CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "indication", type = {CodeableConcept.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="", formalDefinition="Reason or justification for the use of the device." )
protected List<CodeableConcept> indication;
/**
* Details about the device statement 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="notes", type={StringType.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "notes", type = {StringType.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="", formalDefinition="Details about the device statement 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<StringType> notes;
/**
* The time at which the statement was made/recorded.
*/
@Child(name="recordedOn", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "recordedOn", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="", formalDefinition="The time at which the statement was made/recorded." )
protected DateTimeType recordedOn;
/**
* The patient who used the device.
*/
@Child(name="subject", type={Patient.class}, order=7, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 7, min = 1, max = 1)
@Description(shortDefinition="", formalDefinition="The patient who used the device." )
protected Reference subject;
@ -114,7 +114,7 @@ public class DeviceUseStatement extends DomainResource {
/**
* How often the device was used.
*/
@Child(name="timing", type={Timing.class, Period.class, DateTimeType.class}, order=8, min=0, max=1)
@Child(name = "timing", type = {Timing.class, Period.class, DateTimeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="", formalDefinition="How often the device was used." )
protected Type timing;
@ -566,8 +566,8 @@ public class DeviceUseStatement extends DomainResource {
@SearchParamDefinition(name="subject", path="DeviceUseStatement.subject", description="Search by subject", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="DeviceUseStatement.subject", description="Search by subject - a patient", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "patient", path = "DeviceUseStatement.subject", description = "Search by subject - a patient", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -49,11 +49,11 @@ public class DiagnosticOrder extends DomainResource {
/**
* The request has been proposed.
*/
PROPOSED,
PROPOSED,
/**
* The request has been planned.
*/
PLANNED,
PLANNED,
/**
* The request has been placed.
*/
@ -97,10 +97,10 @@ public class DiagnosticOrder extends DomainResource {
public static DiagnosticOrderStatus fromCode(String codeString) throws Exception {
if (codeString == null || "".equals(codeString))
return null;
if ("proposed".equals(codeString))
return PROPOSED;
if ("planned".equals(codeString))
return PLANNED;
if ("proposed".equals(codeString))
return PROPOSED;
if ("planned".equals(codeString))
return PLANNED;
if ("requested".equals(codeString))
return REQUESTED;
if ("received".equals(codeString))
@ -123,8 +123,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String toCode() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED: return "requested";
case RECEIVED: return "received";
case ACCEPTED: return "accepted";
@ -139,8 +141,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getSystem() {
switch (this) {
case PROPOSED: return "";
case PLANNED: return "";
case PROPOSED:
return "";
case PLANNED:
return "";
case REQUESTED: return "";
case RECEIVED: return "";
case ACCEPTED: return "";
@ -155,8 +159,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getDefinition() {
switch (this) {
case PROPOSED: return "The request has been proposed.";
case PLANNED: return "The request has been planned.";
case PROPOSED:
return "The request has been proposed.";
case PLANNED:
return "The request has been planned.";
case REQUESTED: return "The request has been placed.";
case RECEIVED: return "The receiving system has received the order, but not yet decided whether it will be performed.";
case ACCEPTED: return "The receiving system has accepted the order, but work has not yet commenced.";
@ -171,8 +177,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getDisplay() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED: return "requested";
case RECEIVED: return "received";
case ACCEPTED: return "accepted";
@ -193,9 +201,9 @@ public class DiagnosticOrder extends DomainResource {
if (codeString == null || "".equals(codeString))
return null;
if ("proposed".equals(codeString))
return DiagnosticOrderStatus.PROPOSED;
return DiagnosticOrderStatus.PROPOSED;
if ("planned".equals(codeString))
return DiagnosticOrderStatus.PLANNED;
return DiagnosticOrderStatus.PLANNED;
if ("requested".equals(codeString))
return DiagnosticOrderStatus.REQUESTED;
if ("received".equals(codeString))
@ -217,10 +225,10 @@ public class DiagnosticOrder extends DomainResource {
throw new IllegalArgumentException("Unknown DiagnosticOrderStatus code '"+codeString+"'");
}
public String toCode(DiagnosticOrderStatus code) {
if (code == DiagnosticOrderStatus.PROPOSED)
return "proposed";
if (code == DiagnosticOrderStatus.PLANNED)
return "planned";
if (code == DiagnosticOrderStatus.PROPOSED)
return "proposed";
if (code == DiagnosticOrderStatus.PLANNED)
return "planned";
if (code == DiagnosticOrderStatus.REQUESTED)
return "requested";
if (code == DiagnosticOrderStatus.RECEIVED)
@ -349,7 +357,7 @@ public class DiagnosticOrder extends DomainResource {
* The status for the event.
*/
@Child(name="status", type={CodeType.class}, order=1, min=1, max=1)
@Description(shortDefinition="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition="The status for the event." )
@Description(shortDefinition = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition = "The status for the event.")
protected Enumeration<DiagnosticOrderStatus> status;
/**
@ -621,7 +629,7 @@ public class DiagnosticOrder extends DomainResource {
* The status of this individual item within the order.
*/
@Child(name="status", type={CodeType.class}, order=4, min=0, max=1)
@Description(shortDefinition="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition="The status of this individual item within the order." )
@Description(shortDefinition = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition = "The status of this individual item within the order.")
protected Enumeration<DiagnosticOrderStatus> status;
/**
@ -893,7 +901,7 @@ public class DiagnosticOrder extends DomainResource {
/**
* Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).
*/
@Child(name="subject", type={Patient.class, Group.class, Location.class, Device.class}, order=0, min=1, max=1)
@Child(name = "subject", type = {Patient.class, Group.class, Location.class, Device.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="Who and/or what test is about", formalDefinition="Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)." )
protected Reference subject;
@ -905,7 +913,7 @@ public class DiagnosticOrder extends DomainResource {
/**
* The practitioner that holds legal responsibility for ordering the investigation.
*/
@Child(name="orderer", type={Practitioner.class}, order=1, min=0, max=1)
@Child(name = "orderer", type = {Practitioner.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Who ordered the test", formalDefinition="The practitioner that holds legal responsibility for ordering the investigation." )
protected Reference orderer;
@ -917,14 +925,14 @@ public class DiagnosticOrder extends DomainResource {
/**
* Identifiers assigned to this order by the order or by the receiver.
*/
@Child(name="identifier", type={Identifier.class}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Identifiers assigned to this order", formalDefinition="Identifiers assigned to this order by the order or by the receiver." )
protected List<Identifier> identifier;
/**
* An encounter that provides additional information about the healthcare context in which this request is made.
*/
@Child(name="encounter", type={Encounter.class}, order=3, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="The encounter that this diagnostic order is associated with", formalDefinition="An encounter that provides additional information about the healthcare context in which this request is made." )
protected Reference encounter;
@ -936,15 +944,15 @@ public class DiagnosticOrder extends DomainResource {
/**
* An explanation or justification for why this diagnostic investigation is being requested.
*/
@Child(name="clinicalNotes", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "clinicalNotes", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Explanation/Justification for test", formalDefinition="An explanation or justification for why this diagnostic investigation is being requested." )
protected StringType clinicalNotes;
/**
* Additional clinical information about the patient or specimen that may influence test interpretations.
*/
@Child(name="supportingInformation", type={Observation.class, Condition.class, DocumentReference.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Description(shortDefinition="Additional clinical information", formalDefinition="Additional clinical information about the patient or specimen that may influence test interpretations." )
@Child(name = "supportingInformation", type = {Observation.class, Condition.class, DocumentReference.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition = "Additional clinical information", formalDefinition = "Additional clinical information about the patient or specimen that may influence test interpretations.")
protected List<Reference> supportingInformation;
/**
* The actual objects that are the target of the reference (Additional clinical information about the patient or specimen that may influence test interpretations.)
@ -955,7 +963,7 @@ public class DiagnosticOrder extends DomainResource {
/**
* One or more specimens that the diagnostic investigation is about.
*/
@Child(name="specimen", type={Specimen.class}, order=6, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "specimen", type = {Specimen.class}, order = 6, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="If the whole order relates to specific specimens", formalDefinition="One or more specimens that the diagnostic investigation is about." )
protected List<Reference> specimen;
/**
@ -967,28 +975,28 @@ public class DiagnosticOrder extends DomainResource {
/**
* The status of the order.
*/
@Child(name="status", type={CodeType.class}, order=7, min=0, max=1)
@Description(shortDefinition="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition="The status of the order." )
@Child(name = "status", type = {CodeType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", formalDefinition = "The status of the order.")
protected Enumeration<DiagnosticOrderStatus> status;
/**
* The clinical priority associated with this order.
*/
@Child(name="priority", type={CodeType.class}, order=8, min=0, max=1)
@Child(name = "priority", type = {CodeType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="routine | urgent | stat | asap", formalDefinition="The clinical priority associated with this order." )
protected Enumeration<DiagnosticOrderPriority> priority;
/**
* A summary of the events of interest that have occurred as the request is processed. E.g. when the order was made, various processing steps (specimens received), when it was completed.
*/
@Child(name="event", type={}, order=9, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "event", type = {}, order = 9, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="A list of events of interest in the lifecycle", formalDefinition="A summary of the events of interest that have occurred as the request is processed. E.g. when the order was made, various processing steps (specimens received), when it was completed." )
protected List<DiagnosticOrderEventComponent> event;
/**
* The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested.
*/
@Child(name="item", type={}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "item", type = {}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The items the orderer requested", formalDefinition="The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested." )
protected List<DiagnosticOrderItemComponent> item;
@ -1464,7 +1472,7 @@ public class DiagnosticOrder extends DomainResource {
childrenList.add(new Property("identifier", "Identifier", "Identifiers assigned to this order by the order or by the receiver.", 0, java.lang.Integer.MAX_VALUE, identifier));
childrenList.add(new Property("encounter", "Reference(Encounter)", "An encounter that provides additional information about the healthcare context in which this request is made.", 0, java.lang.Integer.MAX_VALUE, encounter));
childrenList.add(new Property("clinicalNotes", "string", "An explanation or justification for why this diagnostic investigation is being requested.", 0, java.lang.Integer.MAX_VALUE, clinicalNotes));
childrenList.add(new Property("supportingInformation", "Reference(Observation|Condition|DocumentReference)", "Additional clinical information about the patient or specimen that may influence test interpretations.", 0, java.lang.Integer.MAX_VALUE, supportingInformation));
childrenList.add(new Property("supportingInformation", "Reference(Observation|Condition|DocumentReference)", "Additional clinical information about the patient or specimen that may influence test interpretations.", 0, java.lang.Integer.MAX_VALUE, supportingInformation));
childrenList.add(new Property("specimen", "Reference(Specimen)", "One or more specimens that the diagnostic investigation is about.", 0, java.lang.Integer.MAX_VALUE, specimen));
childrenList.add(new Property("status", "code", "The status of the order.", 0, java.lang.Integer.MAX_VALUE, status));
childrenList.add(new Property("priority", "code", "The clinical priority associated with this order.", 0, java.lang.Integer.MAX_VALUE, priority));
@ -1551,40 +1559,40 @@ public class DiagnosticOrder extends DomainResource {
return ResourceType.DiagnosticOrder;
}
@SearchParamDefinition(name="item-past-status", path="DiagnosticOrder.item.event.status", description="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type="token" )
public static final String SP_ITEMPASTSTATUS = "item-past-status";
@SearchParamDefinition(name="identifier", path="DiagnosticOrder.identifier", description="Identifiers assigned to this order", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="bodysite", path="DiagnosticOrder.item.bodySite[x]", description="Location of requested test (if applicable)", type="token" )
public static final String SP_BODYSITE = "bodysite";
@SearchParamDefinition(name = "item-past-status", path = "DiagnosticOrder.item.event.status", description = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type = "token")
public static final String SP_ITEMPASTSTATUS = "item-past-status";
@SearchParamDefinition(name = "identifier", path = "DiagnosticOrder.identifier", description = "Identifiers assigned to this order", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "bodysite", path = "DiagnosticOrder.item.bodySite[x]", description = "Location of requested test (if applicable)", type = "token")
public static final String SP_BODYSITE = "bodysite";
@SearchParamDefinition(name="code", path="DiagnosticOrder.item.code", description="Code to indicate the item (test or panel) being ordered", type="token" )
public static final String SP_CODE = "code";
@SearchParamDefinition(name="event-date", path="DiagnosticOrder.event.dateTime", description="The date at which the event happened", type="date" )
public static final String SP_EVENTDATE = "event-date";
@SearchParamDefinition(name="event-status-date", path="", description="A combination of past-status and date", type="composite" )
public static final String SP_EVENTSTATUSDATE = "event-status-date";
@SearchParamDefinition(name="subject", path="DiagnosticOrder.subject", description="Who and/or what test is about", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name = "event-date", path = "DiagnosticOrder.event.dateTime", description = "The date at which the event happened", type = "date")
public static final String SP_EVENTDATE = "event-date";
@SearchParamDefinition(name = "event-status-date", path = "", description = "A combination of past-status and date", type = "composite")
public static final String SP_EVENTSTATUSDATE = "event-status-date";
@SearchParamDefinition(name = "subject", path = "DiagnosticOrder.subject", description = "Who and/or what test is about", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="encounter", path="DiagnosticOrder.encounter", description="The encounter that this diagnostic order is associated with", type="reference" )
public static final String SP_ENCOUNTER = "encounter";
@SearchParamDefinition(name="actor", path="DiagnosticOrder.event.actor|DiagnosticOrder.item.event.actor", description="Who recorded or did this", type="reference" )
public static final String SP_ACTOR = "actor";
@SearchParamDefinition(name = "actor", path = "DiagnosticOrder.event.actor|DiagnosticOrder.item.event.actor", description = "Who recorded or did this", type = "reference")
public static final String SP_ACTOR = "actor";
@SearchParamDefinition(name="item-date", path="DiagnosticOrder.item.event.dateTime", description="The date at which the event happened", type="date" )
public static final String SP_ITEMDATE = "item-date";
@SearchParamDefinition(name="item-status-date", path="", description="A combination of item-past-status and item-date", type="composite" )
public static final String SP_ITEMSTATUSDATE = "item-status-date";
@SearchParamDefinition(name="event-status", path="DiagnosticOrder.event.status", description="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type="token" )
public static final String SP_EVENTSTATUS = "event-status";
@SearchParamDefinition(name="item-status", path="DiagnosticOrder.item.status", description="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type="token" )
public static final String SP_ITEMSTATUS = "item-status";
@SearchParamDefinition(name="patient", path="DiagnosticOrder.subject", description="Who and/or what test is about", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="orderer", path="DiagnosticOrder.orderer", description="Who ordered the test", type="reference" )
public static final String SP_ORDERER = "orderer";
@SearchParamDefinition(name="specimen", path="DiagnosticOrder.specimen|DiagnosticOrder.item.specimen", description="If the whole order relates to specific specimens", type="reference" )
public static final String SP_SPECIMEN = "specimen";
@SearchParamDefinition(name="status", path="DiagnosticOrder.status", description="proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "event-status", path = "DiagnosticOrder.event.status", description = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type = "token")
public static final String SP_EVENTSTATUS = "event-status";
@SearchParamDefinition(name = "item-status", path = "DiagnosticOrder.item.status", description = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type = "token")
public static final String SP_ITEMSTATUS = "item-status";
@SearchParamDefinition(name = "patient", path = "DiagnosticOrder.subject", description = "Who and/or what test is about", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "orderer", path = "DiagnosticOrder.orderer", description = "Who ordered the test", type = "reference")
public static final String SP_ORDERER = "orderer";
@SearchParamDefinition(name = "specimen", path = "DiagnosticOrder.specimen|DiagnosticOrder.item.specimen", description = "If the whole order relates to specific specimens", type = "reference")
public static final String SP_SPECIMEN = "specimen";
@SearchParamDefinition(name = "status", path = "DiagnosticOrder.status", description = "proposed | planned | requested | received | accepted | in-progress | review | completed | suspended | rejected | failed", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -370,28 +370,28 @@ public class DiagnosticReport extends DomainResource {
/**
* A code or name that describes this diagnostic report.
*/
@Child(name="name", type={CodeableConcept.class}, order=0, min=1, max=1)
@Child(name = "name", type = {CodeableConcept.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="Name/Code for this diagnostic report", formalDefinition="A code or name that describes this diagnostic report." )
protected CodeableConcept name;
/**
* The status of the diagnostic report as a whole.
*/
@Child(name="status", type={CodeType.class}, order=1, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="registered | partial | final | corrected +", formalDefinition="The status of the diagnostic report as a whole." )
protected Enumeration<DiagnosticReportStatus> status;
/**
* The date and/or time that this version of the report was released from the source diagnostic service.
*/
@Child(name="issued", type={DateTimeType.class}, order=2, min=1, max=1)
@Child(name = "issued", type = {DateTimeType.class}, order = 2, min = 1, max = 1)
@Description(shortDefinition="Date this version was released", formalDefinition="The date and/or time that this version of the report was released from the source diagnostic service." )
protected DateTimeType issued;
/**
* The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources.
*/
@Child(name="subject", type={Patient.class, Group.class, Device.class, Location.class}, order=3, min=1, max=1)
@Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="The subject of the report, usually, but not always, the patient", formalDefinition="The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources." )
protected Reference subject;
@ -403,7 +403,7 @@ public class DiagnosticReport extends DomainResource {
/**
* The diagnostic service that is responsible for issuing the report.
*/
@Child(name="performer", type={Practitioner.class, Organization.class}, order=4, min=1, max=1)
@Child(name = "performer", type = {Practitioner.class, Organization.class}, order = 4, min = 1, max = 1)
@Description(shortDefinition="Responsible Diagnostic Service", formalDefinition="The diagnostic service that is responsible for issuing the report." )
protected Reference performer;
@ -415,7 +415,7 @@ public class DiagnosticReport extends DomainResource {
/**
* The link to the health care event (encounter) when the order was made.
*/
@Child(name="encounter", type={Encounter.class}, order=5, min=0, max=1)
@Child(name = "encounter", type = {Encounter.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Health care event when test ordered", formalDefinition="The link to the health care event (encounter) when the order was made." )
protected Reference encounter;
@ -427,14 +427,14 @@ public class DiagnosticReport extends DomainResource {
/**
* The local ID assigned to the report by the order filler, usually by the Information System of the diagnostic service provider.
*/
@Child(name="identifier", type={Identifier.class}, order=6, min=0, max=1)
@Child(name = "identifier", type = {Identifier.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Id for external references to this report", formalDefinition="The local ID assigned to the report by the order filler, usually by the Information System of the diagnostic service provider." )
protected Identifier identifier;
/**
* Details concerning a test requested.
*/
@Child(name="requestDetail", type={DiagnosticOrder.class}, order=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "requestDetail", type = {DiagnosticOrder.class}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="What was requested", formalDefinition="Details concerning a test requested." )
protected List<Reference> requestDetail;
/**
@ -446,21 +446,21 @@ public class DiagnosticReport extends DomainResource {
/**
* The section of the diagnostic service that performs the examination e.g. biochemistry, hematology, MRI.
*/
@Child(name="serviceCategory", type={CodeableConcept.class}, order=8, min=0, max=1)
@Child(name = "serviceCategory", type = {CodeableConcept.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Biochemistry, Hematology etc.", formalDefinition="The section of the diagnostic service that performs the examination e.g. biochemistry, hematology, MRI." )
protected CodeableConcept serviceCategory;
/**
* The time or time-period the observed values are related to. This is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.
*/
@Child(name="diagnostic", type={DateTimeType.class, Period.class}, order=9, min=1, max=1)
@Child(name = "diagnostic", type = {DateTimeType.class, Period.class}, order = 9, min = 1, max = 1)
@Description(shortDefinition="Physiologically Relevant time/time-period for report", formalDefinition="The time or time-period the observed values are related to. This is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself." )
protected Type diagnostic;
/**
* Details about the specimens on which this diagnostic report is based.
*/
@Child(name="specimen", type={Specimen.class}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "specimen", type = {Specimen.class}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Specimens this report is based on", formalDefinition="Details about the specimens on which this diagnostic report is based." )
protected List<Reference> specimen;
/**
@ -472,7 +472,7 @@ public class DiagnosticReport extends DomainResource {
/**
* Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. "atomic" results), or they can be grouping observations that include references to other members of the group (e.g. "panels").
*/
@Child(name="result", type={Observation.class}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "result", type = {Observation.class}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Observations - simple, or complex nested groups", formalDefinition="Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. 'atomic' results), or they can be grouping observations that include references to other members of the group (e.g. 'panels')." )
protected List<Reference> result;
/**
@ -484,7 +484,7 @@ public class DiagnosticReport extends DomainResource {
/**
* 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.
*/
@Child(name="imagingStudy", type={ImagingStudy.class}, order=12, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "imagingStudy", type = {ImagingStudy.class}, order = 12, min = 0, max = Child.MAX_UNLIMITED)
@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<Reference> imagingStudy;
/**
@ -496,28 +496,28 @@ public class DiagnosticReport extends DomainResource {
/**
* A list of key images associated with this report. The images 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="image", type={}, order=13, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "image", type = {}, order = 13, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Key images associated with this report", formalDefinition="A list of key images associated with this report. The images 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<DiagnosticReportImageComponent> image;
/**
* Concise and clinically contextualized narrative interpretation of the diagnostic report.
*/
@Child(name="conclusion", type={StringType.class}, order=14, min=0, max=1)
@Child(name = "conclusion", type = {StringType.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Clinical Interpretation of test results", formalDefinition="Concise and clinically contextualized narrative interpretation of the diagnostic report." )
protected StringType conclusion;
/**
* Codes for the conclusion.
*/
@Child(name="codedDiagnosis", type={CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "codedDiagnosis", type = {CodeableConcept.class}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Codes for the conclusion", formalDefinition="Codes for the conclusion." )
protected List<CodeableConcept> codedDiagnosis;
/**
* 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=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "presentedForm", type = {Attachment.class}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@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<Attachment> presentedForm;
@ -1320,15 +1320,15 @@ public class DiagnosticReport extends DomainResource {
return ResourceType.DiagnosticReport;
}
@SearchParamDefinition(name="date", path="DiagnosticReport.diagnostic[x]", description="The clinically relevant time of the report", type="date" )
@SearchParamDefinition(name = "date", path = "DiagnosticReport.diagnostic[x]", description = "The clinically relevant time of the report", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="DiagnosticReport.identifier", description="An identifier for the report", type="token" )
@SearchParamDefinition(name = "identifier", path = "DiagnosticReport.identifier", description = "An identifier for the report", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="image", path="DiagnosticReport.image.link", description="Reference to the image source", type="reference" )
@SearchParamDefinition(name = "image", path = "DiagnosticReport.image.link", description = "Reference to the image source", type = "reference")
public static final String SP_IMAGE = "image";
@SearchParamDefinition(name="request", path="DiagnosticReport.requestDetail", description="What was requested", type="reference" )
@SearchParamDefinition(name = "request", path = "DiagnosticReport.requestDetail", description = "What was requested", type = "reference")
public static final String SP_REQUEST = "request";
@SearchParamDefinition(name="performer", path="DiagnosticReport.performer", description="Who was the source of the report (organization)", type="reference" )
@SearchParamDefinition(name = "performer", path = "DiagnosticReport.performer", description = "Who was the source of the report (organization)", type = "reference")
public static final String SP_PERFORMER = "performer";
@SearchParamDefinition(name="subject", path="DiagnosticReport.subject", description="The subject of the report", type="reference" )
public static final String SP_SUBJECT = "subject";
@ -1336,9 +1336,9 @@ public class DiagnosticReport extends DomainResource {
public static final String SP_DIAGNOSIS = "diagnosis";
@SearchParamDefinition(name="encounter", path="DiagnosticReport.encounter", description="The Encounter when the order was made", type="reference" )
public static final String SP_ENCOUNTER = "encounter";
@SearchParamDefinition(name="result", path="DiagnosticReport.result", description="Link to an atomic result (observation resource)", type="reference" )
@SearchParamDefinition(name = "result", path = "DiagnosticReport.result", description = "Link to an atomic result (observation resource)", type = "reference")
public static final String SP_RESULT = "result";
@SearchParamDefinition(name="service", path="DiagnosticReport.serviceCategory", description="Which diagnostic discipline/department created the report", type="token" )
@SearchParamDefinition(name = "service", path = "DiagnosticReport.serviceCategory", description = "Which diagnostic discipline/department created the report", type = "token")
public static final String SP_SERVICE = "service";
@SearchParamDefinition(name="patient", path="DiagnosticReport.subject", description="The subject of the report if a patient", type="reference" )
public static final String SP_PATIENT = "patient";
@ -1346,9 +1346,9 @@ public class DiagnosticReport extends DomainResource {
public static final String SP_SPECIMEN = "specimen";
@SearchParamDefinition(name="name", path="DiagnosticReport.name", description="The name of the report (e.g. the code for the report as a whole, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result)", type="token" )
public static final String SP_NAME = "name";
@SearchParamDefinition(name="issued", path="DiagnosticReport.issued", description="When the report was issued", type="date" )
@SearchParamDefinition(name = "issued", path = "DiagnosticReport.issued", description = "When the report was issued", type = "date")
public static final String SP_ISSUED = "issued";
@SearchParamDefinition(name="status", path="DiagnosticReport.status", description="The status of the report", type="token" )
@SearchParamDefinition(name = "status", path = "DiagnosticReport.status", description = "The status of the report", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -134,21 +134,21 @@ public class DocumentManifest extends DomainResource {
/**
* A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.
*/
@Child(name="masterIdentifier", type={Identifier.class}, order=0, min=0, max=1)
@Child(name = "masterIdentifier", type = {Identifier.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Unique Identifier for the set of documents", formalDefinition="A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts." )
protected Identifier masterIdentifier;
/**
* Other identifiers associated with the document, including version independent, source record and workflow related identifiers.
*/
@Child(name="identifier", type={Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Other identifiers for the manifest", formalDefinition="Other identifiers associated with the document, including version independent, source record and workflow related identifiers." )
protected List<Identifier> identifier;
/**
* Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).
*/
@Child(name="subject", type={Patient.class, Practitioner.class, Group.class, Device.class}, order=2, min=0, max=1)
@Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="The subject of the set of documents", formalDefinition="Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case)." )
protected Reference subject;
@ -160,7 +160,7 @@ public class DocumentManifest extends DomainResource {
/**
* A patient, practitioner, or organization for which this set of documents is intended.
*/
@Child(name="recipient", type={Patient.class, Practitioner.class, Organization.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "recipient", type = {Patient.class, Practitioner.class, Organization.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Intended to get notified about this set of documents", formalDefinition="A patient, practitioner, or organization for which this set of documents is intended." )
protected List<Reference> recipient;
/**
@ -172,14 +172,14 @@ public class DocumentManifest extends DomainResource {
/**
* Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.
*/
@Child(name="type", type={CodeableConcept.class}, order=4, min=0, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="What kind of document set this is", formalDefinition="Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider." )
protected CodeableConcept type;
/**
* Identifies who is responsible for adding the information to the document.
*/
@Child(name="author", type={Practitioner.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "author", type = {Practitioner.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Who and/or what authored the document", formalDefinition="Identifies who is responsible for adding the information to the document." )
protected List<Reference> author;
/**
@ -191,28 +191,28 @@ public class DocumentManifest extends DomainResource {
/**
* When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated etc).
*/
@Child(name="created", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="When this document manifest created", formalDefinition="When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated etc)." )
protected DateTimeType created;
/**
* Identifies the source system, application, or software that produced the document manifest.
*/
@Child(name="source", type={UriType.class}, order=7, min=0, max=1)
@Child(name = "source", type = {UriType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="The source system/application/software", formalDefinition="Identifies the source system, application, or software that produced the document manifest." )
protected UriType source;
/**
* The status of this document manifest.
*/
@Child(name="status", type={CodeType.class}, order=8, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 8, min = 1, max = 1)
@Description(shortDefinition="current | superceded | entered-in-error", formalDefinition="The status of this document manifest." )
protected Enumeration<DocumentReferenceStatus> status;
/**
* Whether this document manifest replaces another.
*/
@Child(name="supercedes", type={DocumentManifest.class}, order=9, min=0, max=1)
@Child(name = "supercedes", type = {DocumentManifest.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="If this document manifest replaces another", formalDefinition="Whether this document manifest replaces another." )
protected Reference supercedes;
@ -224,21 +224,21 @@ public class DocumentManifest extends DomainResource {
/**
* Human-readable description of the source document. This is sometimes known as the "title".
*/
@Child(name="description", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Human-readable description (title)", formalDefinition="Human-readable description of the source document. This is sometimes known as the 'title'." )
protected StringType description;
/**
* A code specifying the level of confidentiality of this set of Documents.
*/
@Child(name="confidentiality", type={CodeableConcept.class}, order=11, min=0, max=1)
@Child(name = "confidentiality", type = {CodeableConcept.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Sensitivity of set of documents", formalDefinition="A code specifying the level of confidentiality of this set of Documents." )
protected CodeableConcept confidentiality;
/**
* The list of resources that describe the parts of this document reference. Usually, these would be document references, but direct references to binary attachments and images are also allowed.
*/
@Child(name="content", type={DocumentReference.class, Binary.class, Media.class}, order=12, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "content", type = {DocumentReference.class, Binary.class, Media.class}, order = 12, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Contents of this set of documents", formalDefinition="The list of resources that describe the parts of this document reference. Usually, these would be document references, but direct references to binary attachments and images are also allowed." )
protected List<Reference> content;
/**
@ -848,7 +848,7 @@ public class DocumentManifest extends DomainResource {
return ResourceType.DocumentManifest;
}
@SearchParamDefinition(name="identifier", path="DocumentManifest.masterIdentifier|DocumentManifest.identifier", description="Unique Identifier for the set of documents", type="token" )
@SearchParamDefinition(name = "identifier", path = "DocumentManifest.masterIdentifier|DocumentManifest.identifier", description = "Unique Identifier for the set of documents", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="subject", path="DocumentManifest.subject", description="The subject of the set of documents", type="reference" )
public static final String SP_SUBJECT = "subject";
@ -858,21 +858,21 @@ public class DocumentManifest extends DomainResource {
public static final String SP_CREATED = "created";
@SearchParamDefinition(name="confidentiality", path="DocumentManifest.confidentiality", description="Sensitivity of set of documents", type="token" )
public static final String SP_CONFIDENTIALITY = "confidentiality";
@SearchParamDefinition(name="description", path="DocumentManifest.description", description="Human-readable description (title)", type="string" )
@SearchParamDefinition(name = "description", path = "DocumentManifest.description", description = "Human-readable description (title)", type = "string")
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name="source", path="DocumentManifest.source", description="The source system/application/software", type="string" )
@SearchParamDefinition(name = "source", path = "DocumentManifest.source", description = "The source system/application/software", type = "string")
public static final String SP_SOURCE = "source";
@SearchParamDefinition(name="type", path="DocumentManifest.type", description="What kind of document set this is", type="token" )
@SearchParamDefinition(name = "type", path = "DocumentManifest.type", description = "What kind of document set this is", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="content", path="DocumentManifest.content", description="Contents of this set of documents", type="reference" )
@SearchParamDefinition(name = "content", path = "DocumentManifest.content", description = "Contents of this set of documents", type = "reference")
public static final String SP_CONTENT = "content";
@SearchParamDefinition(name="supersedes", path="DocumentManifest.supercedes", description="If this document manifest replaces another", type="reference" )
@SearchParamDefinition(name = "supersedes", path = "DocumentManifest.supercedes", description = "If this document manifest replaces another", type = "reference")
public static final String SP_SUPERSEDES = "supersedes";
@SearchParamDefinition(name="patient", path="DocumentManifest.subject", description="The subject of the set of documents", type="reference" )
@SearchParamDefinition(name = "patient", path = "DocumentManifest.subject", description = "The subject of the set of documents", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="recipient", path="DocumentManifest.recipient", description="Intended to get notified about this set of documents", type="reference" )
@SearchParamDefinition(name = "recipient", path = "DocumentManifest.recipient", description = "Intended to get notified about this set of documents", type = "reference")
public static final String SP_RECIPIENT = "recipient";
@SearchParamDefinition(name="status", path="DocumentManifest.status", description="current | superceded | entered-in-error", type="token" )
@SearchParamDefinition(name = "status", path = "DocumentManifest.status", description = "current | superceded | entered-in-error", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -552,21 +552,21 @@ public class DocumentReference extends DomainResource {
/**
* Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.
*/
@Child(name="masterIdentifier", type={Identifier.class}, order=0, min=0, max=1)
@Child(name = "masterIdentifier", type = {Identifier.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Master Version Specific Identifier", formalDefinition="Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document." )
protected Identifier masterIdentifier;
/**
* Other identifiers associated with the document, including version independent, source record and workflow related identifiers.
*/
@Child(name="identifier", type={Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Other identifiers for the document", formalDefinition="Other identifiers associated with the document, including version independent, source record and workflow related identifiers." )
protected List<Identifier> identifier;
/**
* Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (I.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
*/
@Child(name="subject", type={Patient.class, Practitioner.class, Group.class, Device.class}, order=2, min=0, max=1)
@Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Who|what is the subject of the document", formalDefinition="Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (I.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure)." )
protected Reference subject;
@ -578,28 +578,28 @@ public class DocumentReference extends DomainResource {
/**
* The type code specifies the precise type of document from the user perspective. It is recommended that the value Set be drawn from a coding scheme providing a fine level of granularity such as LOINC. (e.g. Patient Summary, Discharge Summary, Prescription, etc.).
*/
@Child(name="type", type={CodeableConcept.class}, order=3, min=1, max=1)
@Child(name = "type", type = {CodeableConcept.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="Precice type of document", formalDefinition="The type code specifies the precise type of document from the user perspective. It is recommended that the value Set be drawn from a coding scheme providing a fine level of granularity such as LOINC. (e.g. Patient Summary, Discharge Summary, Prescription, etc.)." )
protected CodeableConcept type;
/**
* The class code specifying the high-level use classification of the document type (e.g., Report, Summary, Images, Treatment Plan, Patient Preferences, Workflow).
*/
@Child(name="class_", type={CodeableConcept.class}, order=4, min=0, max=1)
@Child(name = "class_", type = {CodeableConcept.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="High-level classification of document", formalDefinition="The class code specifying the high-level use classification of the document type (e.g., Report, Summary, Images, Treatment Plan, Patient Preferences, Workflow)." )
protected CodeableConcept class_;
/**
* An identifier that identifies the the document encoding, structure and template that the document conforms to beyond the base format indicated in the mimeType.
*/
@Child(name="format", type={UriType.class}, order=5, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "format", type = {UriType.class}, order = 5, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Format/content rules for the document", formalDefinition="An identifier that identifies the the document encoding, structure and template that the document conforms to beyond the base format indicated in the mimeType." )
protected List<UriType> format;
/**
* Identifies who is responsible for adding the information to the document.
*/
@Child(name="author", type={Practitioner.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order=6, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "author", type = {Practitioner.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order = 6, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Who and/or what authored the document", formalDefinition="Identifies who is responsible for adding the information to the document." )
protected List<Reference> author;
/**
@ -611,7 +611,7 @@ public class DocumentReference extends DomainResource {
/**
* Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
*/
@Child(name="custodian", type={Organization.class}, order=7, min=0, max=1)
@Child(name = "custodian", type = {Organization.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Org which maintains the document", formalDefinition="Identifies the organization or group who is responsible for ongoing maintenance of and access to the document." )
protected Reference custodian;
@ -623,14 +623,14 @@ public class DocumentReference extends DomainResource {
/**
* A reference to a domain or server that manages policies under which the document is accessed and/or made available.
*/
@Child(name="policyManager", type={UriType.class}, order=8, min=0, max=1)
@Child(name = "policyManager", type = {UriType.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Manages access policies for the document", formalDefinition="A reference to a domain or server that manages policies under which the document is accessed and/or made available." )
protected UriType policyManager;
/**
* Which person or organization authenticates that this document is valid.
*/
@Child(name="authenticator", type={Practitioner.class, Organization.class}, order=9, min=0, max=1)
@Child(name = "authenticator", type = {Practitioner.class, Organization.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Who/What authenticated the document", formalDefinition="Which person or organization authenticates that this document is valid." )
protected Reference authenticator;
@ -642,63 +642,63 @@ public class DocumentReference extends DomainResource {
/**
* When the document was created.
*/
@Child(name="created", type={DateTimeType.class}, order=10, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Document creation time", formalDefinition="When the document was created." )
protected DateTimeType created;
/**
* When the document reference was created.
*/
@Child(name="indexed", type={InstantType.class}, order=11, min=1, max=1)
@Child(name = "indexed", type = {InstantType.class}, order = 11, min = 1, max = 1)
@Description(shortDefinition="When this document reference created", formalDefinition="When the document reference was created." )
protected InstantType indexed;
/**
* The status of this document reference.
*/
@Child(name="status", type={CodeType.class}, order=12, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 12, min = 1, max = 1)
@Description(shortDefinition="current | superceded | entered-in-error", formalDefinition="The status of this document reference." )
protected Enumeration<DocumentReferenceStatus> status;
/**
* The status of the underlying document.
*/
@Child(name="docStatus", type={CodeableConcept.class}, order=13, min=0, max=1)
@Child(name = "docStatus", type = {CodeableConcept.class}, order = 13, min = 0, max = 1)
@Description(shortDefinition="preliminary | final | appended | amended | entered-in-error", formalDefinition="The status of the underlying document." )
protected CodeableConcept docStatus;
/**
* Relationships that this document has with other document references that already exist.
*/
@Child(name="relatesTo", type={}, order=14, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "relatesTo", type = {}, order = 14, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Relationships to other documents", formalDefinition="Relationships that this document has with other document references that already exist." )
protected List<DocumentReferenceRelatesToComponent> relatesTo;
/**
* Human-readable description of the source document. This is sometimes known as the "title".
*/
@Child(name="description", type={StringType.class}, order=15, min=0, max=1)
@Child(name = "description", type = {StringType.class}, order = 15, min = 0, max = 1)
@Description(shortDefinition="Human-readable description (title)", formalDefinition="Human-readable description of the source document. This is sometimes known as the 'title'." )
protected StringType description;
/**
* A set of Security-Tag codes specifying the level of privacy/security of the Document.
*/
@Child(name="confidentiality", type={CodeableConcept.class}, order=16, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "confidentiality", type = {CodeableConcept.class}, order = 16, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Sensitivity of source document", formalDefinition="A set of Security-Tag codes specifying the level of privacy/security of the Document." )
protected List<CodeableConcept> confidentiality;
/**
* The document or url to the document along with critical metadata to prove content has integrity.
*/
@Child(name="content", type={Attachment.class}, order=17, min=1, max=Child.MAX_UNLIMITED)
@Child(name = "content", type = {Attachment.class}, order = 17, min = 1, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Where to access the document", formalDefinition="The document or url to the document along with critical metadata to prove content has integrity." )
protected List<Attachment> content;
/**
* The clinical context in which the document was prepared.
*/
@Child(name="context", type={}, order=18, min=0, max=1)
@Child(name = "context", type = {}, order = 18, min = 0, max = 1)
@Description(shortDefinition="Clinical context of document", formalDefinition="The clinical context in which the document was prepared." )
protected DocumentReferenceContextComponent context;
@ -1528,12 +1528,12 @@ public class DocumentReference extends DomainResource {
return ResourceType.DocumentReference;
}
@SearchParamDefinition(name="identifier", path="DocumentReference.masterIdentifier|DocumentReference.identifier", description="Master Version Specific Identifier", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="period", path="DocumentReference.context.period", description="Time of service that is being documented", type="date" )
public static final String SP_PERIOD = "period";
@SearchParamDefinition(name="custodian", path="DocumentReference.custodian", description="Org which maintains the document", type="reference" )
public static final String SP_CUSTODIAN = "custodian";
@SearchParamDefinition(name = "identifier", path = "DocumentReference.masterIdentifier|DocumentReference.identifier", description = "Master Version Specific Identifier", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "period", path = "DocumentReference.context.period", description = "Time of service that is being documented", type = "date")
public static final String SP_PERIOD = "period";
@SearchParamDefinition(name = "custodian", path = "DocumentReference.custodian", description = "Org which maintains the document", type = "reference")
public static final String SP_CUSTODIAN = "custodian";
@SearchParamDefinition(name="indexed", path="DocumentReference.indexed", description="When this document reference created", type="date" )
public static final String SP_INDEXED = "indexed";
@SearchParamDefinition(name="subject", path="DocumentReference.subject", description="Who|what is the subject of the document", type="reference" )
@ -1544,34 +1544,34 @@ public class DocumentReference extends DomainResource {
public static final String SP_CREATED = "created";
@SearchParamDefinition(name="confidentiality", path="DocumentReference.confidentiality", description="Sensitivity of source document", type="token" )
public static final String SP_CONFIDENTIALITY = "confidentiality";
@SearchParamDefinition(name="format", path="DocumentReference.format", description="Format/content rules for the document", type="token" )
public static final String SP_FORMAT = "format";
@SearchParamDefinition(name = "format", path = "DocumentReference.format", description = "Format/content rules for the document", type = "token")
public static final String SP_FORMAT = "format";
@SearchParamDefinition(name="description", path="DocumentReference.description", description="Human-readable description (title)", type="string" )
public static final String SP_DESCRIPTION = "description";
@SearchParamDefinition(name="language", path="DocumentReference.content.language", description="Human language of the content (BCP-47)", type="token" )
public static final String SP_LANGUAGE = "language";
@SearchParamDefinition(name="type", path="DocumentReference.type", description="Precice type of document", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="relation", path="DocumentReference.relatesTo.code", description="replaces | transforms | signs | appends", type="token" )
public static final String SP_RELATION = "relation";
@SearchParamDefinition(name="patient", path="DocumentReference.subject", description="Who|what is the subject of the document", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="location", path="DocumentReference.content.url", description="Uri where the data can be found", type="string" )
public static final String SP_LOCATION = "location";
@SearchParamDefinition(name="relatesto", path="DocumentReference.relatesTo.target", description="Target of the relationship", type="reference" )
public static final String SP_RELATESTO = "relatesto";
@SearchParamDefinition(name="relationship", path="", description="Combination of relation and relatesTo", type="composite" )
public static final String SP_RELATIONSHIP = "relationship";
@SearchParamDefinition(name="event", path="DocumentReference.context.event", description="Main Clinical Acts Documented", type="token" )
public static final String SP_EVENT = "event";
@SearchParamDefinition(name="class", path="DocumentReference.class", description="High-level classification of document", type="token" )
public static final String SP_CLASS = "class";
@SearchParamDefinition(name="authenticator", path="DocumentReference.authenticator", description="Who/What authenticated the document", type="reference" )
public static final String SP_AUTHENTICATOR = "authenticator";
@SearchParamDefinition(name="facility", path="DocumentReference.context.facilityType", description="Kind of facility where patient was seen", type="token" )
public static final String SP_FACILITY = "facility";
@SearchParamDefinition(name="status", path="DocumentReference.status", description="current | superceded | entered-in-error", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "type", path = "DocumentReference.type", description = "Precice type of document", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "relation", path = "DocumentReference.relatesTo.code", description = "replaces | transforms | signs | appends", type = "token")
public static final String SP_RELATION = "relation";
@SearchParamDefinition(name = "patient", path = "DocumentReference.subject", description = "Who|what is the subject of the document", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "location", path = "DocumentReference.content.url", description = "Uri where the data can be found", type = "string")
public static final String SP_LOCATION = "location";
@SearchParamDefinition(name = "relatesto", path = "DocumentReference.relatesTo.target", description = "Target of the relationship", type = "reference")
public static final String SP_RELATESTO = "relatesto";
@SearchParamDefinition(name = "relationship", path = "", description = "Combination of relation and relatesTo", type = "composite")
public static final String SP_RELATIONSHIP = "relationship";
@SearchParamDefinition(name = "event", path = "DocumentReference.context.event", description = "Main Clinical Acts Documented", type = "token")
public static final String SP_EVENT = "event";
@SearchParamDefinition(name = "class", path = "DocumentReference.class", description = "High-level classification of document", type = "token")
public static final String SP_CLASS = "class";
@SearchParamDefinition(name = "authenticator", path = "DocumentReference.authenticator", description = "Who/What authenticated the document", type = "reference")
public static final String SP_AUTHENTICATOR = "authenticator";
@SearchParamDefinition(name = "facility", path = "DocumentReference.context.facilityType", description = "Kind of facility where patient was seen", type = "token")
public static final String SP_FACILITY = "facility";
@SearchParamDefinition(name = "status", path = "DocumentReference.status", description = "current | superceded | entered-in-error", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -49,28 +49,28 @@ public abstract class DomainResource extends Resource implements IBaseHasExtensi
/**
* A human-readable narrative that contains a summary of the resource, and may 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.
*/
@Child(name="text", type={Narrative.class}, order=0, min=0, max=1)
@Child(name = "text", type = {Narrative.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="Text summary of the resource, for human interpretation", formalDefinition="A human-readable narrative that contains a summary of the resource, and may 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." )
protected Narrative text;
/**
* These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
*/
@Child(name="contained", type={Resource.class}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "contained", type = {Resource.class}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@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, and nor can they have their own independent transaction scope." )
protected List<Resource> contained;
/**
* May be used to represent additional information that is not part of the basic definition of the resource. In order 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.
*/
@Child(name="extension", type={Extension.class}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "extension", type = {Extension.class}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@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 resource. In order 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." )
protected List<Extension> extension;
/**
* May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
*/
@Child(name="modifierExtension", type={Extension.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "modifierExtension", type = {Extension.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@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. Usually modifier elements provide negation or qualification. In order 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." )
protected List<Extension> modifierExtension;

View File

@ -46,14 +46,14 @@ public abstract class Element extends Base implements IBaseHasExtensions {
/**
* unique id for the element within a resource (for internal references).
*/
@Child(name="id", type={IdType.class}, order=0, min=0, max=1)
@Child(name = "id", type = {IdType.class}, order = 0, min = 0, max = 1)
@Description(shortDefinition="xml:id (or equivalent in JSON)", formalDefinition="unique id for the element within a resource (for internal references)." )
protected IdType id;
/**
* May be used to represent additional information that is not part of the basic definition of the element. In order 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.
*/
@Child(name="extension", type={Extension.class}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "extension", type = {Extension.class}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@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. In order 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." )
protected List<Extension> extension;

View File

@ -42,7 +42,7 @@ import org.hl7.fhir.instance.model.annotations.DatatypeDef;
* Captures constraints on each element within the resource, profile, or extension.
*/
@DatatypeDef(name="ElementDefinition")
public class ElementDefinition extends Type implements ICompositeType {
public class ElementDefinition extends Type implements ICompositeType {
public enum PropertyRepresentation {
/**
@ -1764,182 +1764,182 @@ public class ElementDefinition extends Type implements ICompositeType {
/**
* The path identifies the element and is expressed as a "."-separated list of ancestor elements, beginning with the name of the resource or extension.
*/
@Child(name="path", type={StringType.class}, order=0, min=1, max=1)
@Child(name = "path", type = {StringType.class}, order = 0, min = 1, max = 1)
@Description(shortDefinition="The path of the element (see the Detailed Descriptions)", formalDefinition="The path identifies the element and is expressed as a '.'-separated list of ancestor elements, beginning with the name of the resource or extension." )
protected StringType path;
/**
* Codes that define how this element is represented in instances, when the deviation varies from the normal case.
*/
@Child(name="representation", type={CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "representation", type = {CodeType.class}, order = 1, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="How this element is represented in instances", formalDefinition="Codes that define how this element is represented in instances, when the deviation varies from the normal case." )
protected List<Enumeration<PropertyRepresentation>> representation;
/**
* The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element.
*/
@Child(name="name", type={StringType.class}, order=2, min=0, max=1)
@Child(name = "name", type = {StringType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Name for this particular element definition (reference target)", formalDefinition="The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element." )
protected StringType name;
/**
* Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set).
*/
@Child(name="slicing", type={}, order=3, min=0, max=1)
@Child(name = "slicing", type = {}, order = 3, min = 0, max = 1)
@Description(shortDefinition="This element is sliced - slices follow", formalDefinition="Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set)." )
protected ElementDefinitionSlicingComponent slicing;
/**
* A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification).
*/
@Child(name="short_", type={StringType.class}, order=4, min=0, max=1)
@Child(name = "short_", type = {StringType.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Concise definition for xml presentation", formalDefinition="A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification)." )
protected StringType short_;
/**
* The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource.
*/
@Child(name="formal", type={StringType.class}, order=5, min=0, max=1)
@Child(name = "formal", type = {StringType.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Full formal definition in human language", formalDefinition="The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource." )
protected StringType formal;
/**
* Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc.
*/
@Child(name="comments", type={StringType.class}, order=6, min=0, max=1)
@Child(name = "comments", type = {StringType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Comments about the use of this element", formalDefinition="Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc." )
protected StringType comments;
/**
* Explains why this element is needed and why it's been constrained as it has.
*/
@Child(name="requirements", type={StringType.class}, order=7, min=0, max=1)
@Child(name = "requirements", type = {StringType.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Why is this needed?", formalDefinition="Explains why this element is needed and why it's been constrained as it has." )
protected StringType requirements;
/**
* Identifies additional names by which this element might also be known.
*/
@Child(name="synonym", type={StringType.class}, order=8, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "synonym", type = {StringType.class}, order = 8, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Other names", formalDefinition="Identifies additional names by which this element might also be known." )
protected List<StringType> synonym;
/**
* The minimum number of times this element SHALL appear in the instance.
*/
@Child(name="min", type={IntegerType.class}, order=9, min=0, max=1)
@Child(name = "min", type = {IntegerType.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Minimum Cardinality", formalDefinition="The minimum number of times this element SHALL appear in the instance." )
protected IntegerType min;
/**
* The maximum number of times this element is permitted to appear in the instance.
*/
@Child(name="max", type={StringType.class}, order=10, min=0, max=1)
@Child(name = "max", type = {StringType.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Maximum Cardinality (a number or *)", formalDefinition="The maximum number of times this element is permitted to appear in the instance." )
protected StringType max;
/**
* The data type or resource that the value of this element is permitted to be.
*/
@Child(name="type", type={}, order=11, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "type", type = {}, order = 11, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Data type and Profile for this element", formalDefinition="The data type or resource that the value of this element is permitted to be." )
protected List<TypeRefComponent> type;
/**
* Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element.
*/
@Child(name="nameReference", type={StringType.class}, order=12, min=0, max=1)
@Child(name = "nameReference", type = {StringType.class}, order = 12, min = 0, max = 1)
@Description(shortDefinition="To another element constraint (by element.name)", formalDefinition="Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element." )
protected StringType nameReference;
/**
* The value that should be used if there is no value stated in the instance.
*/
@Child(name="defaultValue", type={}, order=13, min=0, max=1)
@Child(name = "defaultValue", type = {}, order = 13, min = 0, max = 1)
@Description(shortDefinition="Specified value it missing from instance", formalDefinition="The value that should be used if there is no value stated in the instance." )
protected org.hl7.fhir.instance.model.Type defaultValue;
/**
* The Implicit meaning that is to be understood when this element is missing.
*/
@Child(name="meaningWhenMissing", type={StringType.class}, order=14, min=0, max=1)
@Child(name = "meaningWhenMissing", type = {StringType.class}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Implicit meaning when this element is missing", formalDefinition="The Implicit meaning that is to be understood when this element is missing." )
protected StringType meaningWhenMissing;
/**
* Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-signficant 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={}, order=15, min=0, max=1)
@Child(name = "fixed", type = {}, order = 15, min = 0, max = 1)
@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-signficant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing." )
protected org.hl7.fhir.instance.model.Type 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. The values of elements present in the pattern must match exactly (case-senstive, accent-sensitive, etc.).
*/
@Child(name="pattern", type={}, order=16, min=0, max=1)
@Child(name = "pattern", type = {}, order = 16, min = 0, max = 1)
@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. The values of elements present in the pattern must match exactly (case-senstive, accent-sensitive, etc.)." )
protected org.hl7.fhir.instance.model.Type pattern;
/**
* An example value for this element.
*/
@Child(name="example", type={}, order=17, min=0, max=1)
@Child(name = "example", type = {}, order = 17, min = 0, max = 1)
@Description(shortDefinition="Example value: [as defined for type]", formalDefinition="An example value for this element." )
protected org.hl7.fhir.instance.model.Type example;
/**
* 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.
*/
@Child(name="maxLength", type={IntegerType.class}, order=18, min=0, max=1)
@Child(name = "maxLength", type = {IntegerType.class}, order = 18, min = 0, max = 1)
@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." )
protected IntegerType maxLength;
/**
* A reference to an invariant that may make additional statements about the cardinality or value in the instance.
*/
@Child(name="condition", type={IdType.class}, order=19, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "condition", type = {IdType.class}, order = 19, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Reference to invariant about presence", formalDefinition="A reference to an invariant that may make additional statements about the cardinality or value in the instance." )
protected List<IdType> condition;
/**
* Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.
*/
@Child(name="constraint", type={}, order=20, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "constraint", type = {}, order = 20, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Condition that must evaluate to true", formalDefinition="Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance." )
protected List<ElementDefinitionConstraintComponent> constraint;
/**
* If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported.
*/
@Child(name="mustSupport", type={BooleanType.class}, order=21, min=0, max=1)
@Child(name = "mustSupport", type = {BooleanType.class}, order = 21, min = 0, max = 1)
@Description(shortDefinition="If the element must supported", formalDefinition="If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported." )
protected BooleanType mustSupport;
/**
* If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system.
*/
@Child(name="isModifier", type={BooleanType.class}, order=22, min=0, max=1)
@Child(name = "isModifier", type = {BooleanType.class}, order = 22, min = 0, max = 1)
@Description(shortDefinition="If this modifies the meaning of other elements", formalDefinition="If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system." )
protected BooleanType isModifier;
/**
* Whether the element should be included if a client requests a search with the parameter _summary=true.
*/
@Child(name="isSummary", type={BooleanType.class}, order=23, min=0, max=1)
@Child(name = "isSummary", type = {BooleanType.class}, order = 23, min = 0, max = 1)
@Description(shortDefinition="Include when _summary = true?", formalDefinition="Whether the element should be included if a client requests a search with the parameter _summary=true." )
protected BooleanType isSummary;
/**
* Binds to a value set if this element is coded (code, Coding, CodeableConcept).
*/
@Child(name="binding", type={}, order=24, min=0, max=1)
@Child(name = "binding", type = {}, order = 24, min = 0, max = 1)
@Description(shortDefinition="ValueSet details if this is coded", formalDefinition="Binds to a value set if this element is coded (code, Coding, CodeableConcept)." )
protected ElementDefinitionBindingComponent binding;
/**
* Identifies a concept from an external specification that roughly corresponds to this element.
*/
@Child(name="mapping", type={}, order=25, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "mapping", type = {}, order = 25, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Map element to another set of definitions", formalDefinition="Identifies a concept from an external specification that roughly corresponds to this element." )
protected List<ElementDefinitionMappingComponent> mapping;

View File

@ -47,35 +47,35 @@ public class EligibilityRequest extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business Identifier", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=1, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=2, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when this resource was created.
*/
@Child(name="created", type={DateTimeType.class}, order=3, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." )
protected DateTimeType created;
/**
* The Insurer who is target of the request.
*/
@Child(name="target", type={Organization.class}, order=4, min=0, max=1)
@Child(name = "target", type = {Organization.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who is target of the request." )
protected Reference target;
@ -87,7 +87,7 @@ public class EligibilityRequest extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="provider", type={Practitioner.class}, order=5, min=0, max=1)
@Child(name = "provider", type = {Practitioner.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference provider;
@ -99,7 +99,7 @@ public class EligibilityRequest extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="organization", type={Organization.class}, order=6, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference organization;

View File

@ -120,14 +120,14 @@ public class EligibilityResponse extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business Identifier", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* Original request resource reference.
*/
@Child(name="request", type={EligibilityRequest.class}, order=1, min=0, max=1)
@Child(name = "request", type = {EligibilityRequest.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Claim reference", formalDefinition="Original request resource reference." )
protected Reference request;
@ -139,42 +139,42 @@ public class EligibilityResponse extends DomainResource {
/**
* Transaction status: error, complete.
*/
@Child(name="outcome", type={CodeType.class}, order=2, min=0, max=1)
@Child(name = "outcome", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="complete | error", formalDefinition="Transaction status: error, complete." )
protected Enumeration<RSLink> outcome;
/**
* A description of the status of the adjudication.
*/
@Child(name="disposition", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "disposition", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Disposition Message", formalDefinition="A description of the status of the adjudication." )
protected StringType disposition;
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=4, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=5, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when the enclosed suite of services were performed or completed.
*/
@Child(name="created", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when the enclosed suite of services were performed or completed." )
protected DateTimeType created;
/**
* The Insurer who produced this adjudicated response.
*/
@Child(name="organization", type={Organization.class}, order=7, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who produced this adjudicated response." )
protected Reference organization;
@ -186,7 +186,7 @@ public class EligibilityResponse extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="requestProvider", type={Practitioner.class}, order=8, min=0, max=1)
@Child(name = "requestProvider", type = {Practitioner.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference requestProvider;
@ -198,7 +198,7 @@ public class EligibilityResponse extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="requestOrganization", type={Organization.class}, order=9, min=0, max=1)
@Child(name = "requestOrganization", type = {Organization.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference requestOrganization;

View File

@ -1439,42 +1439,42 @@ public class Encounter extends DomainResource {
/**
* Identifier(s) by which this encounter is known.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Identifier(s) by which this encounter is known", formalDefinition="Identifier(s) by which this encounter is known." )
protected List<Identifier> identifier;
/**
* planned | arrived | in-progress | onleave | finished | cancelled.
*/
@Child(name="status", type={CodeType.class}, order=1, min=1, max=1)
@Child(name = "status", type = {CodeType.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="planned | arrived | in-progress | onleave | finished | cancelled", formalDefinition="planned | arrived | in-progress | onleave | finished | cancelled." )
protected Enumeration<EncounterState> status;
/**
* The current status is always found in the current version of the resource. This status history permits the encounter resource to contain the status history without the needing to read through the historical versions of the resource, or even have the server store them.
*/
@Child(name="statusHistory", type={}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "statusHistory", type = {}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="List of Encounter statuses", formalDefinition="The current status is always found in the current version of the resource. This status history permits the encounter resource to contain the status history without the needing to read through the historical versions of the resource, or even have the server store them." )
protected List<EncounterStatusHistoryComponent> statusHistory;
/**
* inpatient | outpatient | ambulatory | emergency +.
*/
@Child(name="class_", type={CodeType.class}, order=3, min=1, max=1)
@Child(name = "class_", type = {CodeType.class}, order = 3, min = 1, max = 1)
@Description(shortDefinition="inpatient | outpatient | ambulatory | emergency +", formalDefinition="inpatient | outpatient | ambulatory | emergency +." )
protected Enumeration<EncounterClass> class_;
/**
* Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
*/
@Child(name="type", type={CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "type", type = {CodeableConcept.class}, order = 4, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Specific type of encounter", formalDefinition="Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)." )
protected List<CodeableConcept> type;
/**
* The patient present at the encounter.
*/
@Child(name="patient", type={Patient.class}, order=5, min=0, max=1)
@Child(name = "patient", type = {Patient.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="The patient present at the encounter", formalDefinition="The patient present at the encounter." )
protected Reference patient;
@ -1486,7 +1486,7 @@ public class Encounter extends DomainResource {
/**
* Where a specific encounter should be classified as a part of a specific episode of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as govt reporting, or issue tracking.
*/
@Child(name="episodeOfCare", type={EpisodeOfCare.class}, order=6, min=0, max=1)
@Child(name = "episodeOfCare", type = {EpisodeOfCare.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="An episode of care that this encounter should be recorded against", formalDefinition="Where a specific encounter should be classified as a part of a specific episode of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as govt reporting, or issue tracking." )
protected Reference episodeOfCare;
@ -1498,14 +1498,14 @@ public class Encounter extends DomainResource {
/**
* The main practitioner responsible for providing the service.
*/
@Child(name="participant", type={}, order=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "participant", type = {}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="List of participants involved in the encounter", formalDefinition="The main practitioner responsible for providing the service." )
protected List<EncounterParticipantComponent> participant;
/**
* The appointment that scheduled this encounter.
*/
@Child(name="fulfills", type={Appointment.class}, order=8, min=0, max=1)
@Child(name = "fulfills", type = {Appointment.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="The appointment that scheduled this encounter", formalDefinition="The appointment that scheduled this encounter." )
protected Reference fulfills;
@ -1517,28 +1517,28 @@ public class Encounter extends DomainResource {
/**
* The start and end time of the encounter.
*/
@Child(name="period", type={Period.class}, order=9, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="The start and end time of the encounter", formalDefinition="The start and end time of the encounter." )
protected Period period;
/**
* Quantity of time the encounter lasted. This excludes the time during leaves of absence.
*/
@Child(name="length", type={Duration.class}, order=10, min=0, max=1)
@Child(name = "length", type = {Duration.class}, order = 10, min = 0, max = 1)
@Description(shortDefinition="Quantity of time the encounter lasted", formalDefinition="Quantity of time the encounter lasted. This excludes the time during leaves of absence." )
protected Duration length;
/**
* Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
*/
@Child(name="reason", type={CodeableConcept.class}, order=11, min=0, max=1)
@Child(name = "reason", type = {CodeableConcept.class}, order = 11, min = 0, max = 1)
@Description(shortDefinition="Reason the encounter takes place (code)", formalDefinition="Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis." )
protected CodeableConcept reason;
/**
* Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis.
*/
@Child(name="indication", type={}, order=12, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "indication", type = {}, order = 12, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Reason the encounter takes place (resource)", formalDefinition="Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis." )
protected List<Reference> indication;
/**
@ -1550,28 +1550,28 @@ public class Encounter extends DomainResource {
/**
* Indicates the urgency of the encounter.
*/
@Child(name="priority", type={CodeableConcept.class}, order=13, min=0, max=1)
@Child(name = "priority", type = {CodeableConcept.class}, order = 13, min = 0, max = 1)
@Description(shortDefinition="Indicates the urgency of the encounter", formalDefinition="Indicates the urgency of the encounter." )
protected CodeableConcept priority;
/**
* Details about an admission to a clinic.
*/
@Child(name="hospitalization", type={}, order=14, min=0, max=1)
@Child(name = "hospitalization", type = {}, order = 14, min = 0, max = 1)
@Description(shortDefinition="Details about an admission to a clinic", formalDefinition="Details about an admission to a clinic." )
protected EncounterHospitalizationComponent hospitalization;
/**
* List of locations at which the patient has been.
*/
@Child(name="location", type={}, order=15, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "location", type = {}, order = 15, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="List of locations the patient has been at", formalDefinition="List of locations at which the patient has been." )
protected List<EncounterLocationComponent> location;
/**
* Department or team providing care.
*/
@Child(name="serviceProvider", type={Organization.class}, order=16, min=0, max=1)
@Child(name = "serviceProvider", type = {Organization.class}, order = 16, min = 0, max = 1)
@Description(shortDefinition="Department or team providing care", formalDefinition="Department or team providing care." )
protected Reference serviceProvider;
@ -1583,7 +1583,7 @@ public class Encounter extends DomainResource {
/**
* Another Encounter of which this encounter is a part of (administratively or in time).
*/
@Child(name="partOf", type={Encounter.class}, order=17, min=0, max=1)
@Child(name = "partOf", type = {Encounter.class}, order = 17, min = 0, max = 1)
@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;
@ -2341,32 +2341,32 @@ public class Encounter extends DomainResource {
return ResourceType.Encounter;
}
@SearchParamDefinition(name="date", path="Encounter.period", description="A date within the period the Encounter lasted", type="date" )
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="Encounter.identifier", description="Identifier(s) by which this encounter is known", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="episodeofcare", path="Encounter.episodeOfCare", description="An episode of care that this encounter should be recorded against", type="reference" )
public static final String SP_EPISODEOFCARE = "episodeofcare";
@SearchParamDefinition(name = "date", path = "Encounter.period", description = "A date within the period the Encounter lasted", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name = "identifier", path = "Encounter.identifier", description = "Identifier(s) by which this encounter is known", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name = "episodeofcare", path = "Encounter.episodeOfCare", description = "An episode of care that this encounter should be recorded against", type = "reference")
public static final String SP_EPISODEOFCARE = "episodeofcare";
@SearchParamDefinition(name="participant-type", path="Encounter.participant.type", description="Role of participant in encounter", type="token" )
public static final String SP_PARTICIPANTTYPE = "participant-type";
@SearchParamDefinition(name="length", path="Encounter.length", description="Length of encounter in days", type="number" )
public static final String SP_LENGTH = "length";
@SearchParamDefinition(name="part-of", path="Encounter.partOf", description="Another Encounter this encounter is part of", type="reference" )
public static final String SP_PARTOF = "part-of";
@SearchParamDefinition(name="type", path="Encounter.type", description="Specific type of encounter", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name = "length", path = "Encounter.length", description = "Length of encounter in days", type = "number")
public static final String SP_LENGTH = "length";
@SearchParamDefinition(name = "part-of", path = "Encounter.partOf", description = "Another Encounter this encounter is part of", type = "reference")
public static final String SP_PARTOF = "part-of";
@SearchParamDefinition(name = "type", path = "Encounter.type", description = "Specific type of encounter", type = "token")
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="patient", path="Encounter.patient", description="The patient present at the encounter", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="location-period", path="Encounter.location.period", description="Time period during which the patient was present at the location", type="date" )
public static final String SP_LOCATIONPERIOD = "location-period";
@SearchParamDefinition(name = "location-period", path = "Encounter.location.period", description = "Time period during which the patient was present at the location", type = "date")
public static final String SP_LOCATIONPERIOD = "location-period";
@SearchParamDefinition(name="location", path="Encounter.location.location", description="Location the encounter takes place", type="reference" )
public static final String SP_LOCATION = "location";
@SearchParamDefinition(name="indication", path="Encounter.indication", description="Reason the encounter takes place (resource)", type="reference" )
public static final String SP_INDICATION = "indication";
@SearchParamDefinition(name="special-arrangement", path="Encounter.hospitalization.specialArrangement", description="Wheelchair, translator, stretcher, etc", type="token" )
public static final String SP_SPECIALARRANGEMENT = "special-arrangement";
@SearchParamDefinition(name="status", path="Encounter.status", description="planned | arrived | in-progress | onleave | finished | cancelled", type="token" )
public static final String SP_STATUS = "status";
@SearchParamDefinition(name = "status", path = "Encounter.status", description = "planned | arrived | in-progress | onleave | finished | cancelled", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -47,35 +47,35 @@ public class EnrollmentRequest extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business Identifier", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=1, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=2, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when this resource was created.
*/
@Child(name="created", type={DateTimeType.class}, order=3, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." )
protected DateTimeType created;
/**
* The Insurer who is target of the request.
*/
@Child(name="target", type={Organization.class}, order=4, min=0, max=1)
@Child(name = "target", type = {Organization.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who is target of the request." )
protected Reference target;
@ -87,7 +87,7 @@ public class EnrollmentRequest extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="provider", type={Practitioner.class}, order=5, min=0, max=1)
@Child(name = "provider", type = {Practitioner.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference provider;
@ -99,7 +99,7 @@ public class EnrollmentRequest extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="organization", type={Organization.class}, order=6, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference organization;
@ -111,7 +111,7 @@ public class EnrollmentRequest extends DomainResource {
/**
* Patient Resource.
*/
@Child(name="subject", type={Patient.class}, order=7, min=1, max=1)
@Child(name = "subject", type = {Patient.class}, order = 7, min = 1, max = 1)
@Description(shortDefinition="The subject of the Products and Services", formalDefinition="Patient Resource." )
protected Reference subject;
@ -123,7 +123,7 @@ public class EnrollmentRequest extends DomainResource {
/**
* Reference to the program or plan identification, underwriter or payor.
*/
@Child(name="coverage", type={Coverage.class}, order=8, min=1, max=1)
@Child(name = "coverage", type = {Coverage.class}, order = 8, min = 1, max = 1)
@Description(shortDefinition="Insurance information", formalDefinition="Reference to the program or plan identification, underwriter or payor." )
protected Reference coverage;
@ -135,7 +135,7 @@ public class EnrollmentRequest extends DomainResource {
/**
* The relationship of the patient to the subscriber.
*/
@Child(name="relationship", type={Coding.class}, order=9, min=1, max=1)
@Child(name = "relationship", type = {Coding.class}, order = 9, min = 1, max = 1)
@Description(shortDefinition="Patient relationship to subscriber", formalDefinition="The relationship of the patient to the subscriber." )
protected Coding relationship;
@ -599,10 +599,10 @@ public class EnrollmentRequest extends DomainResource {
@SearchParamDefinition(name="identifier", path="EnrollmentRequest.identifier", description="The business identifier of the Enrollment", type="token" )
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="subject", path="EnrollmentRequest.subject", description="The party to be enrolled", type="reference" )
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name="patient", path="EnrollmentRequest.subject", description="The party to be enrolled", type="reference" )
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name = "subject", path = "EnrollmentRequest.subject", description = "The party to be enrolled", type = "reference")
public static final String SP_SUBJECT = "subject";
@SearchParamDefinition(name = "patient", path = "EnrollmentRequest.subject", description = "The party to be enrolled", type = "reference")
public static final String SP_PATIENT = "patient";
}

View File

@ -120,14 +120,14 @@ public class EnrollmentResponse extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business Identifier", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* Original request resource reference.
*/
@Child(name="request", type={EnrollmentRequest.class}, order=1, min=0, max=1)
@Child(name = "request", type = {EnrollmentRequest.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Claim reference", formalDefinition="Original request resource reference." )
protected Reference request;
@ -139,42 +139,42 @@ public class EnrollmentResponse extends DomainResource {
/**
* Transaction status: error, complete.
*/
@Child(name="outcome", type={CodeType.class}, order=2, min=0, max=1)
@Child(name = "outcome", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="complete | error", formalDefinition="Transaction status: error, complete." )
protected Enumeration<RSLink> outcome;
/**
* A description of the status of the adjudication.
*/
@Child(name="disposition", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "disposition", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Disposition Message", formalDefinition="A description of the status of the adjudication." )
protected StringType disposition;
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=4, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=5, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when the enclosed suite of services were performed or completed.
*/
@Child(name="created", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when the enclosed suite of services were performed or completed." )
protected DateTimeType created;
/**
* The Insurer who produced this adjudicated response.
*/
@Child(name="organization", type={Organization.class}, order=7, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who produced this adjudicated response." )
protected Reference organization;
@ -186,7 +186,7 @@ public class EnrollmentResponse extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="requestProvider", type={Practitioner.class}, order=8, min=0, max=1)
@Child(name = "requestProvider", type = {Practitioner.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference requestProvider;
@ -198,7 +198,7 @@ public class EnrollmentResponse extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="requestOrganization", type={Organization.class}, order=9, min=0, max=1)
@Child(name = "requestOrganization", type = {Organization.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference requestOrganization;

View File

@ -494,35 +494,35 @@ public class EpisodeOfCare extends DomainResource {
/**
* Identifier(s) by which this EpisodeOfCare is known.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Identifier(s) by which this EpisodeOfCare is known", formalDefinition="Identifier(s) by which this EpisodeOfCare is known." )
protected List<Identifier> identifier;
/**
* planned | active | onhold | finished | withdrawn | other.
*/
@Child(name="currentStatus", type={CodeType.class}, order=1, min=1, max=1)
@Child(name = "currentStatus", type = {CodeType.class}, order = 1, min = 1, max = 1)
@Description(shortDefinition="planned | active | onhold | finished | withdrawn | other", formalDefinition="planned | active | onhold | finished | withdrawn | other." )
protected Enumeration<EpisodeOfCareStatus> currentStatus;
/**
* The status history for the EpisodeOfCare.
*/
@Child(name="statusHistory", type={}, order=2, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "statusHistory", type = {}, order = 2, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The status history for the EpisodeOfCare", formalDefinition="The status history for the EpisodeOfCare." )
protected List<EpisodeOfCareStatusHistoryComponent> statusHistory;
/**
* The type can be very important in processing as this could be used in determining if the episodeofcare is relevant to specific government reporting, or other types of classifications.
*/
@Child(name="type", type={CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "type", type = {CodeableConcept.class}, order = 3, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Specific type of EpisodeOfcare", formalDefinition="The type can be very important in processing as this could be used in determining if the episodeofcare is relevant to specific government reporting, or other types of classifications." )
protected List<CodeableConcept> type;
/**
* The patient that this episodeofcare applies to.
*/
@Child(name="patient", type={Patient.class}, order=4, min=1, max=1)
@Child(name = "patient", type = {Patient.class}, order = 4, min = 1, max = 1)
@Description(shortDefinition="The patient that this episodeofcare applies to", formalDefinition="The patient that this episodeofcare applies to." )
protected Reference patient;
@ -534,7 +534,7 @@ public class EpisodeOfCare extends DomainResource {
/**
* The organization that has assumed the specific responsibilities for the specified duration.
*/
@Child(name="managingOrganization", type={Organization.class}, order=5, min=0, max=1)
@Child(name = "managingOrganization", type = {Organization.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="The organization that has assumed the specific responsibilities for the specified duration", formalDefinition="The organization that has assumed the specific responsibilities for the specified duration." )
protected Reference managingOrganization;
@ -546,14 +546,14 @@ public class EpisodeOfCare extends DomainResource {
/**
* The interval during which the managing organization assumes the defined responsibility.
*/
@Child(name="period", type={Period.class}, order=6, min=0, max=1)
@Child(name = "period", type = {Period.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="The interval during which the managing organization assumes the defined responsibility", formalDefinition="The interval during which the managing organization assumes the defined responsibility." )
protected Period period;
/**
* 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=7, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "condition", type = {Condition.class}, order = 7, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for", formalDefinition="A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for." )
protected List<Reference> condition;
/**
@ -565,7 +565,7 @@ public class EpisodeOfCare extends DomainResource {
/**
* A Referral Request that this EpisodeOfCare manages activities within.
*/
@Child(name="referralRequest", type={ReferralRequest.class}, order=8, min=0, max=1)
@Child(name = "referralRequest", type = {ReferralRequest.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="A Referral Request that this EpisodeOfCare manages activities within", formalDefinition="A Referral Request that this EpisodeOfCare manages activities within." )
protected Reference referralRequest;
@ -577,7 +577,7 @@ public class EpisodeOfCare extends DomainResource {
/**
* The practitioner that is the care manager/care co-ordinator for this patient.
*/
@Child(name="careManager", type={Practitioner.class}, order=9, min=0, max=1)
@Child(name = "careManager", type = {Practitioner.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="The practitioner that is the care manager/care co-ordinator for this patient", formalDefinition="The practitioner that is the care manager/care co-ordinator for this patient." )
protected Reference careManager;
@ -589,7 +589,7 @@ public class EpisodeOfCare extends DomainResource {
/**
* The list of practitioners that may be facilitating this episode of care for specific purposes.
*/
@Child(name="careTeam", type={}, order=10, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "careTeam", type = {}, order = 10, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="The list of practitioners that may be facilitating this episode of care for specific purposes", formalDefinition="The list of practitioners that may be facilitating this episode of care for specific purposes." )
protected List<EpisodeOfCareCareTeamComponent> careTeam;
@ -1115,23 +1115,23 @@ public class EpisodeOfCare extends DomainResource {
return ResourceType.EpisodeOfCare;
}
@SearchParamDefinition(name="date", path="EpisodeOfCare.period", description="The interval during which the managing organization assumes the defined responsibility", type="date" )
@SearchParamDefinition(name = "date", path = "EpisodeOfCare.period", description = "The interval during which the managing organization assumes the defined responsibility", type = "date")
public static final String SP_DATE = "date";
@SearchParamDefinition(name="identifier", path="EpisodeOfCare.identifier", description="Identifier(s) by which this EpisodeOfCare is known", type="token" )
@SearchParamDefinition(name = "identifier", path = "EpisodeOfCare.identifier", description = "Identifier(s) by which this EpisodeOfCare is known", type = "token")
public static final String SP_IDENTIFIER = "identifier";
@SearchParamDefinition(name="condition", path="EpisodeOfCare.condition", description="A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for", type="reference" )
public static final String SP_CONDITION = "condition";
@SearchParamDefinition(name="referral", path="EpisodeOfCare.referralRequest", description="A Referral Request that this EpisodeOfCare manages activities within", type="reference" )
public static final String SP_REFERRAL = "referral";
@SearchParamDefinition(name="patient", path="EpisodeOfCare.patient", description="The patient that this episodeofcare applies to", type="reference" )
@SearchParamDefinition(name = "patient", path = "EpisodeOfCare.patient", description = "The patient that this episodeofcare applies to", type = "reference")
public static final String SP_PATIENT = "patient";
@SearchParamDefinition(name="organization", path="EpisodeOfCare.managingOrganization", description="The organization that has assumed the specific responsibilities for the specified duration", type="reference" )
@SearchParamDefinition(name = "organization", path = "EpisodeOfCare.managingOrganization", description = "The organization that has assumed the specific responsibilities for the specified duration", type = "reference")
public static final String SP_ORGANIZATION = "organization";
@SearchParamDefinition(name="type", path="EpisodeOfCare.type", description="Specific type of EpisodeOfcare", type="token" )
public static final String SP_TYPE = "type";
@SearchParamDefinition(name="care-manager", path="EpisodeOfCare.careManager", description="The practitioner that is the care manager/care co-ordinator for this patient", type="reference" )
@SearchParamDefinition(name = "care-manager", path = "EpisodeOfCare.careManager", description = "The practitioner that is the care manager/care co-ordinator for this patient", type = "reference")
public static final String SP_CAREMANAGER = "care-manager";
@SearchParamDefinition(name="status", path="EpisodeOfCare.currentStatus", description="planned | active | onhold | finished | withdrawn | other", type="token" )
@SearchParamDefinition(name = "status", path = "EpisodeOfCare.currentStatus", description = "planned | active | onhold | finished | withdrawn | other", type = "token")
public static final String SP_STATUS = "status";
}

View File

@ -120,14 +120,14 @@ public class ExplanationOfBenefit extends DomainResource {
/**
* The Response Business Identifier.
*/
@Child(name="identifier", type={Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED)
@Child(name = "identifier", type = {Identifier.class}, order = 0, min = 0, max = Child.MAX_UNLIMITED)
@Description(shortDefinition="Business Identifier", formalDefinition="The Response Business Identifier." )
protected List<Identifier> identifier;
/**
* Original request resource reference.
*/
@Child(name="request", type={OralHealthClaim.class}, order=1, min=0, max=1)
@Child(name = "request", type = {OralHealthClaim.class}, order = 1, min = 0, max = 1)
@Description(shortDefinition="Claim reference", formalDefinition="Original request resource reference." )
protected Reference request;
@ -139,42 +139,42 @@ public class ExplanationOfBenefit extends DomainResource {
/**
* Transaction status: error, complete.
*/
@Child(name="outcome", type={CodeType.class}, order=2, min=0, max=1)
@Child(name = "outcome", type = {CodeType.class}, order = 2, min = 0, max = 1)
@Description(shortDefinition="complete | error", formalDefinition="Transaction status: error, complete." )
protected Enumeration<RSLink> outcome;
/**
* A description of the status of the adjudication.
*/
@Child(name="disposition", type={StringType.class}, order=3, min=0, max=1)
@Child(name = "disposition", type = {StringType.class}, order = 3, min = 0, max = 1)
@Description(shortDefinition="Disposition Message", formalDefinition="A description of the status of the adjudication." )
protected StringType disposition;
/**
* The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
*/
@Child(name="ruleset", type={Coding.class}, order=4, min=0, max=1)
@Child(name = "ruleset", type = {Coding.class}, order = 4, min = 0, max = 1)
@Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
protected Coding ruleset;
/**
* The style (standard) and version of the original material which was converted into this resource.
*/
@Child(name="originalRuleset", type={Coding.class}, order=5, min=0, max=1)
@Child(name = "originalRuleset", type = {Coding.class}, order = 5, min = 0, max = 1)
@Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
protected Coding originalRuleset;
/**
* The date when the enclosed suite of services were performed or completed.
*/
@Child(name="created", type={DateTimeType.class}, order=6, min=0, max=1)
@Child(name = "created", type = {DateTimeType.class}, order = 6, min = 0, max = 1)
@Description(shortDefinition="Creation date", formalDefinition="The date when the enclosed suite of services were performed or completed." )
protected DateTimeType created;
/**
* The Insurer who produced this adjudicated response.
*/
@Child(name="organization", type={Organization.class}, order=7, min=0, max=1)
@Child(name = "organization", type = {Organization.class}, order = 7, min = 0, max = 1)
@Description(shortDefinition="Insurer", formalDefinition="The Insurer who produced this adjudicated response." )
protected Reference organization;
@ -186,7 +186,7 @@ public class ExplanationOfBenefit extends DomainResource {
/**
* The practitioner who is responsible for the services rendered to the patient.
*/
@Child(name="requestProvider", type={Practitioner.class}, order=8, min=0, max=1)
@Child(name = "requestProvider", type = {Practitioner.class}, order = 8, min = 0, max = 1)
@Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
protected Reference requestProvider;
@ -198,7 +198,7 @@ public class ExplanationOfBenefit extends DomainResource {
/**
* The organization which is responsible for the services rendered to the patient.
*/
@Child(name="requestOrganization", type={Organization.class}, order=9, min=0, max=1)
@Child(name = "requestOrganization", type = {Organization.class}, order = 9, min = 0, max = 1)
@Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
protected Reference requestOrganization;

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