Cleaning up JavaDocs to allow building in Java 8

This commit is contained in:
James Agnew 2014-12-30 16:39:38 -05:00
parent 0b44a32910
commit 6b3d92fde1
99 changed files with 726 additions and 537 deletions

View File

@ -31,6 +31,7 @@ import ca.uhn.fhir.model.dstu.resource.Patient;
import ca.uhn.fhir.model.dstu.valueset.IdentifierUseEnum;
import ca.uhn.fhir.model.dstu.valueset.IssueSeverityEnum;
import ca.uhn.fhir.model.dstu.valueset.QuantityCompararatorEnum;
import ca.uhn.fhir.model.primitive.DateTimeDt;
import ca.uhn.fhir.model.primitive.DecimalDt;
import ca.uhn.fhir.model.primitive.IdDt;
import ca.uhn.fhir.model.primitive.InstantDt;
@ -252,6 +253,45 @@ public List<Patient> findObservations(
//END SNIPPET: referenceWithStaticChain
//START SNIPPET: referenceWithDynamicChain
@Search()
public List<Observation> findBySubject(
@RequiredParam(name=Observation.SP_SUBJECT, chainWhitelist = {"", Patient.SP_IDENTIFIER, Patient.SP_BIRTHDATE}) ReferenceParam subject
) {
List<Observation> observations = new ArrayList<Observation>();
String chain = subject.getChain();
if (Patient.SP_IDENTIFIER.equals(chain)) {
// Because the chained parameter "subject.identifier" is actually of type
// "token", we convert the value to a token before processing it.
TokenParam tokenSubject = subject.toTokenParam();
String system = tokenSubject.getSystem();
String identifier = tokenSubject.getValue();
// TODO: populate all the observations for the identifier
} else if (Patient.SP_BIRTHDATE.equals(chain)) {
// Because the chained parameter "subject.birthdate" is actually of type
// "date", we convert the value to a date before processing it.
DateParam dateSubject = subject.toDateParam();
DateTimeDt birthDate = dateSubject.getValueAsDateTimeDt();
// TODO: populate all the observations for the birthdate
} else if ("".equals(chain)) {
String resourceId = subject.getValue();
// TODO: populate all the observations for the resource id
}
return observations;
}
//END SNIPPET: referenceWithDynamicChain
//START SNIPPET: read
@Read()
public Patient getResourceById(@IdParam IdDt theId) {

View File

@ -28,7 +28,7 @@
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>

Binary file not shown.

View File

@ -1,5 +1,6 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8

View File

@ -7,12 +7,13 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.doc.comment.support=enabled
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@ -36,12 +37,25 @@ org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
@ -97,4 +111,4 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.compiler.source=1.6

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.8"/>
<installed facet="java" version="1.6"/>
</faceted-project>

View File

@ -57,6 +57,7 @@ import ca.uhn.fhir.validation.FhirValidator;
*
* <p>
* Important usage notes:
* </p>
* <ul>
* <li>Thread safety: <b>This class is thread safe</b> and may be shared between multiple processing threads.</li>
* <li>
@ -67,7 +68,6 @@ import ca.uhn.fhir.validation.FhirValidator;
* another) but you will incur a performance penalty if a new FhirContext is created for every message you parse/encode.
* </li>
* </ul>
* </p>
*/
public class FhirContext {
@ -315,7 +315,6 @@ public class FhirContext {
*
* @param theServerBase
* The URL of the base for the restful FHIR server to connect to
* @return
*/
public IGenericClient newRestfulGenericClient(String theServerBase) {
return getRestfulClientFactory().newGenericClient(theServerBase);

View File

@ -44,8 +44,9 @@ public class ProvidedResourceScanner {
/**
* If {@code theProvider} is tagged with the {@code ProvidesResources} annotation, this method will add every resource listed
* by the {@code resources} method.
* <p/>
* notes:
* <p>
* Notes:
* </p>
* <ul>
* <li>if {@code theProvider} isn't annotated with {@code resources} nothing is done; it's expected that most RestfulServers and
* ResourceProviders won't be annotated.</li>

View File

@ -52,9 +52,9 @@ public abstract class BaseResource extends BaseElement implements IResource {
/**
* <b>Fluent Client</b> search parameter constant for <b>_id</b>
* <p>
* Description: <b>the _id of a resource</b><br/>
* Type: <b>string</b><br/>
* Path: <b>Resource._id</b><br/>
* Description: <b>the _id of a resource</b><br>
* Type: <b>string</b><br>
* Path: <b>Resource._id</b><br>
* </p>
*/
public static final StringClientParam RES_ID = new StringClientParam(BaseResource.SP_RES_ID);

View File

@ -41,18 +41,20 @@ public interface IQueryParameterType {
public void setValueAsQueryToken(String theQualifier, String theValue);
/**
* This method is generally only called by HAPI itself, and should not need to be called from user code.
* Returns a representation of this parameter's value as it will be represented "over the wire". In other
* words, how it will be presented in a URL (although not URL escaped)
*
* <p>
* See FHIR specification <a href="http://www.hl7.org/implement/standards/fhir/search.html#ptypes">2.2.2 Search
* SearchParameter Types</a> for information on the <b>token</b> format
* </p>
*
* @return Returns a representation of this parameter's value as it will be represented "over the wire". In other
* words, how it will be presented in a URL (although not URL escaped)
*/
public String getValueAsQueryToken();
/**
* This method is generally only called by HAPI itself, and should not need to be called from user code.
*
* This method will return any qualifier that should be appended to the parameter name (e.g ":exact")
*/
public String getQueryParameterQualifier();

View File

@ -36,7 +36,7 @@ import ca.uhn.fhir.model.primitive.IdDt;
* Note that this class is a part of HAPI's model API, used to define
* structure classes. Users will often interact with this interface, but
* should not need to implement it directly.
* <p>
* </p>
*/
public interface IResource extends ICompositeElement, org.hl7.fhir.instance.model.IBaseResource {
@ -48,7 +48,7 @@ public interface IResource extends ICompositeElement, org.hl7.fhir.instance.mode
* encoding, and copying contained resources from this list to their
* appropriate references when parsing) so it is generally not neccesary to
* interact with this list directly. Instead, in a server you can place
* resource instances in reference fields (such as {@link ca.uhn.fhir.model.dstu.resource.Patient#setManagingOrganization(ca.uhn.fhir.model.dstu.composite.ResourceReferenceDt)})
* resource instances in reference fields (such as <code>Patient#setManagingOrganization(ResourceReferenceDt)</code> )
* and the resource will be automatically contained. In a client, contained resources will
* be automatically populated into their appropriate fields by the HAPI parser.
* </p>

View File

@ -36,7 +36,7 @@ import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
* data elements which are sent/receieved in HTTP Headers along with read/create resource requests, or properties which can be found in bundle entries.
* <p>
* To access or set resource metadata values, every resource has a metadata map, and this class provides convenient getters/setters for interacting with that map. For example, to get a resource's
* {@link UPDATED} value, which is the "last updated" time for that resource, use the following code:
* {@link #UPDATED} value, which is the "last updated" time for that resource, use the following code:
* </p>
* <p>
* <code>InstantDt updated = ResourceMetadataKeyEnum.UPDATED.get(resource);</code>
@ -45,7 +45,7 @@ import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
* To set this value, use the following:
* </p>
* <p>
* <code>InstantDt update = new InstantDt("2011-01-02T11:22:33.0000Z"); // populate with the actual time<br/>
* <code>InstantDt update = new InstantDt("2011-01-02T11:22:33.0000Z"); // populate with the actual time<br>
* ResourceMetadataKeyEnum.UPDATED.put(resource, update);</code>
* </p>
* <p>
@ -191,7 +191,7 @@ public abstract class ResourceMetadataKeyEnum<T> {
* Values for this key are of type <b>{@link IdDt}</b>
* </p>
*
* @deprecated The {@link IResource#getId()} resource ID will now be populated with the version ID via the {@link IdDt#getUnqualifiedVersionId()} method
* @deprecated The {@link IResource#getId()} resource ID will now be populated with the version ID via the {@link IdDt#getVersionIdPart()} method
*/
@Deprecated
public static final ResourceMetadataKeyEnum<IdDt> VERSION_ID = new ResourceMetadataKeyEnum<IdDt>("VERSION_ID") {

View File

@ -142,6 +142,8 @@ public class Tag extends BaseElement implements IElement {
}
/**
* Sets the label and returns a reference to this tag
*
* @deprecated Tags will become immutable in a future release of HAPI in order to facilitate
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
* tag object
@ -152,6 +154,8 @@ public class Tag extends BaseElement implements IElement {
}
/**
* Sets the scheme and returns a reference to this tag
*
* @deprecated Tags will become immutable in a future release of HAPI in order to facilitate
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
* tag object
@ -162,6 +166,8 @@ public class Tag extends BaseElement implements IElement {
}
/**
* Sets the term and returns a reference to this tag
*
* @deprecated Tags will become immutable in a future release of HAPI in order to facilitate
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
* tag object

View File

@ -28,11 +28,10 @@ import java.lang.annotation.RetentionPolicy;
* These resources will automatically be added to the resource list used for profile generation.
* <pre>
* Examples:
* {@code
* @literal@ProvidesResources(resource=CustomObservation.class)
* {@literal @}ProvidesResources(resource=CustomObservation.class)
* class CustomObservationResourceProvider implements IResourceProvider{...}
*
* @literal@ProvidesResources(resource={CustomPatient.class,CustomObservation.class}){...}
* {@literal @}ProvidesResources(resource={CustomPatient.class,CustomObservation.class}){...}
* class FhirServer extends RestfulServer
* }
* </pre>

View File

@ -81,8 +81,8 @@ public abstract class BaseCodingDt extends BaseIdentifiableElement implements IC
}
/**
* Returns true if <code>this</code> Coding has the same {@link ca.uhn.fhir.model.dstu.composite.InternalCodingDt#getCode() Code} and {@link ca.uhn.fhir.model.dstu.composite.InternalCodingDt#getSystem() system} (as compared by simple equals comparison). Does not compare other
* Codes (e.g. {@link ca.uhn.fhir.model.dstu.composite.InternalCodingDt#getUse() use}) or any extensions.
* Returns true if <code>this</code> Coding has the same {@link #getCodeElement() Code} and {@link #getSystemElement() system} (as compared by simple equals comparison). Does not compare other
* Codes (e.g. getUseElement()) or any extensions.
*/
public boolean matchesSystemAndCode(BaseCodingDt theCoding) {
if (theCoding == null) {

View File

@ -28,6 +28,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import ca.uhn.fhir.model.api.BaseIdentifiableElement;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.util.DatatypeUtil;
public abstract class BaseHumanNameDt extends BaseIdentifiableElement {
@ -43,7 +44,7 @@ public abstract class BaseHumanNameDt extends BaseIdentifiableElement {
/**
* Returns all repetitions of {@link #getFamily() family name} as a space separated string
*
* @see DatatypeUtil${hash}joinStringsSpaceSeparated(List)
* @see DatatypeUtil#joinStringsSpaceSeparated(List)
*/
public String getFamilyAsSingleString() {
return ca.uhn.fhir.util.DatatypeUtil.joinStringsSpaceSeparated(getFamily());
@ -61,7 +62,7 @@ public abstract class BaseHumanNameDt extends BaseIdentifiableElement {
/**
* Returns all repetitions of {@link #getGiven() given name} as a space separated string
*
* @see DatatypeUtil${hash}joinStringsSpaceSeparated(List)
* @see DatatypeUtil#joinStringsSpaceSeparated(List)
*/
public String getGivenAsSingleString() {
return ca.uhn.fhir.util.DatatypeUtil.joinStringsSpaceSeparated(getGiven());
@ -79,7 +80,7 @@ public abstract class BaseHumanNameDt extends BaseIdentifiableElement {
/**
* Returns all repetitions of {@link #getPrefix() prefix name} as a space separated string
*
* @see DatatypeUtil${hash}joinStringsSpaceSeparated(List)
* @see DatatypeUtil#joinStringsSpaceSeparated(List)
*/
public String getPrefixAsSingleString() {
return ca.uhn.fhir.util.DatatypeUtil.joinStringsSpaceSeparated(getPrefix());
@ -97,7 +98,7 @@ public abstract class BaseHumanNameDt extends BaseIdentifiableElement {
/**
* Returns all repetitions of {@link #getSuffix() suffix} as a space separated string
*
* @see DatatypeUtil${hash}joinStringsSpaceSeparated(List)
* @see DatatypeUtil#joinStringsSpaceSeparated(List)
*/
public String getSuffixAsSingleString() {
return ca.uhn.fhir.util.DatatypeUtil.joinStringsSpaceSeparated(getSuffix());

View File

@ -69,9 +69,9 @@ public abstract class BaseIdentifierDt extends BaseIdentifiableElement implement
}
/**
* Returns true if <code>this</code> identifier has the same {@link ca.uhn.fhir.model.dstu.composite.IdentifierDt#getValue() value} and
* {@link ca.uhn.fhir.model.dstu.composite.IdentifierDt#getSystem() system} (as compared by simple equals comparison). Does not compare other values (e.g.
* {@link ca.uhn.fhir.model.dstu.composite.IdentifierDt#getUse() use}) or any extensions.
* Returns true if <code>this</code> identifier has the same {@link #getValueElement() value} and
* {@link #getSystemElement() system} (as compared by simple equals comparison). Does not compare other values (e.g.
* getUse()) or any extensions.
*/
public boolean matchesSystemAndValue(BaseIdentifierDt theIdentifier) {
if (theIdentifier == null) {

View File

@ -87,13 +87,14 @@ public abstract class BaseQuantityDt extends BaseIdentifiableElement implements
}
/**
* Gets the value(s) for <b>comparator</b> (< | <= | >= | > - how to understand the value).
* Gets the value(s) for <b>comparator</b> (&lt; | &lt;= | &gt;= | &gt; - how to understand the value).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is \"<\" , then the real value is < stated value
* How the value should be understood and represented - whether the actual value is greater or less than
* the stated value due to measurement issues. E.g. if the comparator is \"&lt;\" , then the real value is &lt; stated value
* </p>
*/
public abstract BoundCodeDt<?> getComparatorElement();

View File

@ -43,8 +43,6 @@ public abstract class BaseResourceReferenceDt extends BaseIdentifiableElement {
/**
* Constructor
*
* @param theResource
*/
public BaseResourceReferenceDt() {
// nothing
@ -67,8 +65,10 @@ public abstract class BaseResourceReferenceDt extends BaseIdentifiableElement {
* Gets the actual loaded and parsed resource instance, <b>if it is already present</b>. This method will return the resource instance only if it has previously been loaded using
* {@link #loadResource(IRestfulClient)} or it was contained within the resource containing this resource.
*
* @see See {@link #loadResource(IRestfulClient)}
* @see See the FHIR specification section on <a href="http://www.hl7.org/implement/standards/fhir/references.html#id>contained resources</a>
* See the FHIR specification section on <a href="http://www.hl7.org/implement/standards/fhir/references.html#id">contained resources</a>
* for more information.
*
* @see #loadResource(IRestfulClient)
*/
public IResource getResource() {
return myResource;

View File

@ -107,7 +107,7 @@ public class ResourceReferenceDt
* Constructor which accepts a reference directly (this can be an ID, a partial/relative URL or a complete/absolute
* URL)
*
* @param theId
* @param theResourceId
* The reference itself
*/
public ResourceReferenceDt(IdDt theResourceId) {

View File

@ -29,61 +29,61 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum AdmitSourceEnum {
/**
* Display: <b>Transferred from other hospital</b><br/>
* Display: <b>Transferred from other hospital</b><br>
* Code Value: <b>hosp-trans</b>
*/
TRANSFERRED_FROM_OTHER_HOSPITAL("hosp-trans", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>From accident/emergency department</b><br/>
* Display: <b>From accident/emergency department</b><br>
* Code Value: <b>emd</b>
*/
FROM_ACCIDENT_EMERGENCY_DEPARTMENT("emd", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>From outpatient department</b><br/>
* Display: <b>From outpatient department</b><br>
* Code Value: <b>outp</b>
*/
FROM_OUTPATIENT_DEPARTMENT("outp", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>Born in hospital</b><br/>
* Display: <b>Born in hospital</b><br>
* Code Value: <b>born</b>
*/
BORN_IN_HOSPITAL("born", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>General Practitioner referral</b><br/>
* Display: <b>General Practitioner referral</b><br>
* Code Value: <b>gp</b>
*/
GENERAL_PRACTITIONER_REFERRAL("gp", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>Medical Practitioner/physician referral</b><br/>
* Display: <b>Medical Practitioner/physician referral</b><br>
* Code Value: <b>mp</b>
*/
MEDICAL_PRACTITIONER_PHYSICIAN_REFERRAL("mp", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>From nursing home</b><br/>
* Display: <b>From nursing home</b><br>
* Code Value: <b>nursing</b>
*/
FROM_NURSING_HOME("nursing", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>From psychiatric hospital</b><br/>
* Display: <b>From psychiatric hospital</b><br>
* Code Value: <b>psych</b>
*/
FROM_PSYCHIATRIC_HOSPITAL("psych", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>From rehabilitation facility</b><br/>
* Display: <b>From rehabilitation facility</b><br>
* Code Value: <b>rehab</b>
*/
FROM_REHABILITATION_FACILITY("rehab", "http://hl7.org/fhir/admit-source"),
/**
* Display: <b>Other</b><br/>
* Display: <b>Other</b><br>
* Code Value: <b>other</b>
*/
OTHER("other", "http://hl7.org/fhir/admit-source"),

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum AnimalSpeciesEnum {
/**
* Display: <b>Dog</b><br/>
* Display: <b>Dog</b><br>
* Code Value: <b>canislf</b>
*
* Canis lupus familiaris
@ -37,7 +37,7 @@ public enum AnimalSpeciesEnum {
DOG("canislf", "http://hl7.org/fhir/animal-species"),
/**
* Display: <b>Sheep</b><br/>
* Display: <b>Sheep</b><br>
* Code Value: <b>ovisa</b>
*
* Ovis aries
@ -45,7 +45,7 @@ public enum AnimalSpeciesEnum {
SHEEP("ovisa", "http://hl7.org/fhir/animal-species"),
/**
* Display: <b>Domestic Canary</b><br/>
* Display: <b>Domestic Canary</b><br>
* Code Value: <b>serinuscd</b>
*
* Serinus canaria domestica

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum DiagnosticOrderPriorityEnum {
/**
* Display: <b>Routine</b><br/>
* Display: <b>Routine</b><br>
* Code Value: <b>routine</b>
*
* The order has a normal priority.
@ -37,7 +37,7 @@ public enum DiagnosticOrderPriorityEnum {
ROUTINE("routine", "http://hl7.org/fhir/diagnostic-order-priority"),
/**
* Display: <b>Urgent</b><br/>
* Display: <b>Urgent</b><br>
* Code Value: <b>urgent</b>
*
* The order should be urgently.
@ -45,7 +45,7 @@ public enum DiagnosticOrderPriorityEnum {
URGENT("urgent", "http://hl7.org/fhir/diagnostic-order-priority"),
/**
* Display: <b>Stat</b><br/>
* Display: <b>Stat</b><br>
* Code Value: <b>stat</b>
*
* The order is time-critical.
@ -53,7 +53,7 @@ public enum DiagnosticOrderPriorityEnum {
STAT("stat", "http://hl7.org/fhir/diagnostic-order-priority"),
/**
* Display: <b>ASAP</b><br/>
* Display: <b>ASAP</b><br>
* Code Value: <b>asap</b>
*
* The order should be acted on as soon as possible.

View File

@ -29,25 +29,25 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum EncounterTypeEnum {
/**
* Display: <b>Annual diabetes mellitus screening</b><br/>
* Display: <b>Annual diabetes mellitus screening</b><br>
* Code Value: <b>ADMS</b>
*/
ANNUAL_DIABETES_MELLITUS_SCREENING("ADMS", "http://hl7.org/fhir/encounter-type"),
/**
* Display: <b>Bone drilling/bone marrow punction in clinic</b><br/>
* Display: <b>Bone drilling/bone marrow punction in clinic</b><br>
* Code Value: <b>BD/BM-clin</b>
*/
BONE_DRILLING_BONE_MARROW_PUNCTION_IN_CLINIC("BD/BM-clin", "http://hl7.org/fhir/encounter-type"),
/**
* Display: <b>Infant colon screening - 60 minutes</b><br/>
* Display: <b>Infant colon screening - 60 minutes</b><br>
* Code Value: <b>CCS60</b>
*/
INFANT_COLON_SCREENING___60_MINUTES("CCS60", "http://hl7.org/fhir/encounter-type"),
/**
* Display: <b>Outpatient Kenacort injection</b><br/>
* Display: <b>Outpatient Kenacort injection</b><br>
* Code Value: <b>OKI</b>
*/
OUTPATIENT_KENACORT_INJECTION("OKI", "http://hl7.org/fhir/encounter-type"),

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum HierarchicalRelationshipTypeEnum {
/**
* Display: <b>Parent</b><br/>
* Display: <b>Parent</b><br>
* Code Value: <b>parent</b>
*
* The target resource is the parent of the focal specimen resource.
@ -37,7 +37,7 @@ public enum HierarchicalRelationshipTypeEnum {
PARENT("parent", "http://hl7.org/fhir/hierarchical-relationship-type"),
/**
* Display: <b>Child</b><br/>
* Display: <b>Child</b><br>
* Code Value: <b>child</b>
*
* The target resource is the child of the focal specimen resource.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum ImmunizationRecommendationDateCriterionCodesEnum {
/**
* Display: <b>due</b><br/>
* Display: <b>due</b><br>
* Code Value: <b>due</b>
*
* Date the next dose is considered due
@ -37,7 +37,7 @@ public enum ImmunizationRecommendationDateCriterionCodesEnum {
DUE("due", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
/**
* Display: <b>overdue</b><br/>
* Display: <b>overdue</b><br>
* Code Value: <b>overdue</b>
*
* Date the next dose is considered overdue
@ -45,7 +45,7 @@ public enum ImmunizationRecommendationDateCriterionCodesEnum {
OVERDUE("overdue", "http://hl7.org/fhir/immunization-recommendation-date-criterion"),
/**
* Display: <b>latest</b><br/>
* Display: <b>latest</b><br>
* Code Value: <b>latest</b>
*
* The latest date the next dose is to be given

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum ImmunizationRecommendationStatusCodesEnum {
/**
* Display: <b>due</b><br/>
* Display: <b>due</b><br>
* Code Value: <b>due</b>
*
* The patient is due for their next vaccination
@ -37,7 +37,7 @@ public enum ImmunizationRecommendationStatusCodesEnum {
DUE("due", "http://hl7.org/fhir/immunization-recommendation-status"),
/**
* Display: <b>overdue</b><br/>
* Display: <b>overdue</b><br>
* Code Value: <b>overdue</b>
*
* The patient is considered overdue for their next vaccination

View File

@ -29,49 +29,49 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum LocationTypeEnum {
/**
* Display: <b>Building</b><br/>
* Display: <b>Building</b><br>
* Code Value: <b>bu</b>
*/
BUILDING("bu", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Wing</b><br/>
* Display: <b>Wing</b><br>
* Code Value: <b>wi</b>
*/
WING("wi", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Corridor</b><br/>
* Display: <b>Corridor</b><br>
* Code Value: <b>co</b>
*/
CORRIDOR("co", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Room</b><br/>
* Display: <b>Room</b><br>
* Code Value: <b>ro</b>
*/
ROOM("ro", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Vehicle</b><br/>
* Display: <b>Vehicle</b><br>
* Code Value: <b>ve</b>
*/
VEHICLE("ve", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>House</b><br/>
* Display: <b>House</b><br>
* Code Value: <b>ho</b>
*/
HOUSE("ho", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Cabinet</b><br/>
* Display: <b>Cabinet</b><br>
* Code Value: <b>ca</b>
*/
CABINET("ca", "http://hl7.org/fhir/location-physical-type"),
/**
* Display: <b>Road</b><br/>
* Display: <b>Road</b><br>
* Code Value: <b>rd</b>
*/
ROAD("rd", "http://hl7.org/fhir/location-physical-type"),

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum MaritalStatusCodesEnum {
/**
* Display: <b>unmarried</b><br/>
* Display: <b>unmarried</b><br>
* Code Value: <b>U</b>
*
* The person is not presently married. The marital history is not known or stated

View File

@ -29,55 +29,55 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum OrganizationTypeEnum {
/**
* Display: <b>Healthcare Provider</b><br/>
* Display: <b>Healthcare Provider</b><br>
* Code Value: <b>prov</b>
*/
HEALTHCARE_PROVIDER("prov", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Hospital Department</b><br/>
* Display: <b>Hospital Department</b><br>
* Code Value: <b>dept</b>
*/
HOSPITAL_DEPARTMENT("dept", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Intensive Care Unit</b><br/>
* Display: <b>Intensive Care Unit</b><br>
* Code Value: <b>icu</b>
*/
INTENSIVE_CARE_UNIT("icu", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Organizational team</b><br/>
* Display: <b>Organizational team</b><br>
* Code Value: <b>team</b>
*/
ORGANIZATIONAL_TEAM("team", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Federal Government</b><br/>
* Display: <b>Federal Government</b><br>
* Code Value: <b>fed</b>
*/
FEDERAL_GOVERNMENT("fed", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Insurance Company</b><br/>
* Display: <b>Insurance Company</b><br>
* Code Value: <b>ins</b>
*/
INSURANCE_COMPANY("ins", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Educational Institute</b><br/>
* Display: <b>Educational Institute</b><br>
* Code Value: <b>edu</b>
*/
EDUCATIONAL_INSTITUTE("edu", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Religious Institution</b><br/>
* Display: <b>Religious Institution</b><br>
* Code Value: <b>reli</b>
*/
RELIGIOUS_INSTITUTION("reli", "http://hl7.org/fhir/organization-type"),
/**
* Display: <b>Pharmacy</b><br/>
* Display: <b>Pharmacy</b><br>
* Code Value: <b>pharm</b>
*/
PHARMACY("pharm", "http://hl7.org/fhir/organization-type"),

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum ParticipantTypeEnum {
/**
* Display: <b>Translator</b><br/>
* Display: <b>Translator</b><br>
* Code Value: <b>translator</b>
*
* A translator who is facilitating communication with the patient during the encounter
@ -37,7 +37,7 @@ public enum ParticipantTypeEnum {
TRANSLATOR("translator", "http://hl7.org/fhir/participant-type"),
/**
* Display: <b>Emergency</b><br/>
* Display: <b>Emergency</b><br>
* Code Value: <b>emergency</b>
*
* A person to be contacted in case of an emergency during the encounter

View File

@ -49,13 +49,13 @@ public enum PractitionerRoleEnum {
RESEARCHER("researcher", "http://hl7.org/fhir/practitioner-role"),
/**
* Display: <b>Teacher/educator</b><br/>
* Display: <b>Teacher/educator</b><br>
* Code Value: <b>teacher</b>
*/
TEACHER_EDUCATOR("teacher", "http://hl7.org/fhir/practitioner-role"),
/**
* Display: <b>ICT professional</b><br/>
* Display: <b>ICT professional</b><br>
* Code Value: <b>ict</b>
*/
ICT_PROFESSIONAL("ict", "http://hl7.org/fhir/practitioner-role"),

View File

@ -29,31 +29,31 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum PractitionerSpecialtyEnum {
/**
* Display: <b>Cardiologist</b><br/>
* Display: <b>Cardiologist</b><br>
* Code Value: <b>cardio</b>
*/
CARDIOLOGIST("cardio", "http://hl7.org/fhir/practitioner-specialty"),
/**
* Display: <b>Dentist</b><br/>
* Display: <b>Dentist</b><br>
* Code Value: <b>dent</b>
*/
DENTIST("dent", "http://hl7.org/fhir/practitioner-specialty"),
/**
* Display: <b>Dietary consultant</b><br/>
* Display: <b>Dietary consultant</b><br>
* Code Value: <b>dietary</b>
*/
DIETARY_CONSULTANT("dietary", "http://hl7.org/fhir/practitioner-specialty"),
/**
* Display: <b>Midwife</b><br/>
* Display: <b>Midwife</b><br>
* Code Value: <b>midw</b>
*/
MIDWIFE("midw", "http://hl7.org/fhir/practitioner-specialty"),
/**
* Display: <b>Systems architect</b><br/>
* Display: <b>Systems architect</b><br>
* Code Value: <b>sysarch</b>
*/
SYSTEMS_ARCHITECT("sysarch", "http://hl7.org/fhir/practitioner-specialty"),

View File

@ -29,28 +29,28 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum QuantityCompararatorEnum {
/**
* Code Value: <b><</b>
* Code Value: <b>&lt;</b>
*
* The actual value is less than the given value.
*/
LESSTHAN("<", "http://hl7.org/fhir/quantity-comparator"),
/**
* Code Value: <b><=</b>
* Code Value: <b>&lt;=</b>
*
* The actual value is less than or equal to the given value.
*/
LESSTHAN_OR_EQUALS("<=", "http://hl7.org/fhir/quantity-comparator"),
/**
* Code Value: <b>>=</b>
* Code Value: <b>&gt;=</b>
*
* The actual value is greater than or equal to the given value.
*/
GREATERTHAN_OR_EQUALS(">=", "http://hl7.org/fhir/quantity-comparator"),
/**
* Code Value: <b>></b>
* Code Value: <b>&gt;</b>
*
* The actual value is greater than the given value.
*/

View File

@ -29,31 +29,31 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum QuestionnaireGroupNameEnum {
/**
* Display: <b>Hair Color</b><br/>
* Display: <b>Hair Color</b><br>
* Code Value: <b>B.001</b>
*/
HAIR_COLOR("B.001", "http://hl7.org/fhir/questionnaire-group-name"),
/**
* Display: <b>Vision</b><br/>
* Display: <b>Vision</b><br>
* Code Value: <b>B.002</b>
*/
VISION("B.002", "http://hl7.org/fhir/questionnaire-group-name"),
/**
* Display: <b>Sleepwalker</b><br/>
* Display: <b>Sleepwalker</b><br>
* Code Value: <b>B.003</b>
*/
SLEEPWALKER("B.003", "http://hl7.org/fhir/questionnaire-group-name"),
/**
* Display: <b>Tooth extraction</b><br/>
* Display: <b>Tooth extraction</b><br>
* Code Value: <b>B.004</b>
*/
TOOTH_EXTRACTION("B.004", "http://hl7.org/fhir/questionnaire-group-name"),
/**
* Display: <b>Stutter</b><br/>
* Display: <b>Stutter</b><br>
* Code Value: <b>B.005</b>
*/
STUTTER("B.005", "http://hl7.org/fhir/questionnaire-group-name"),

View File

@ -29,19 +29,19 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum QuestionnaireNameEnum {
/**
* Display: <b>Cancer Treatment Quality Questionnaire 2012</b><br/>
* Display: <b>Cancer Treatment Quality Questionnaire 2012</b><br>
* Code Value: <b>CTQQ-2012</b>
*/
CANCER_TREATMENT_QUALITY_QUESTIONNAIRE_2012("CTQQ-2012", "http://hl7.org/fhir/questionnaire-name"),
/**
* Display: <b>Pre-admission standard Form A</b><br/>
* Display: <b>Pre-admission standard Form A</b><br>
* Code Value: <b>PA.form.A</b>
*/
PRE_ADMISSION_STANDARD_FORM_A("PA.form.A", "http://hl7.org/fhir/questionnaire-name"),
/**
* Display: <b>Brazelton Neonatal Assessment Scale</b><br/>
* Display: <b>Brazelton Neonatal Assessment Scale</b><br>
* Code Value: <b>BNAS</b>
*/
BRAZELTON_NEONATAL_ASSESSMENT_SCALE("BNAS", "http://hl7.org/fhir/questionnaire-name"),

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum QuestionnaireStatusEnum {
/**
* Display: <b>draft</b><br/>
* Display: <b>draft</b><br>
* Code Value: <b>draft</b>
*
* This Questionnaire is used as a template but the template is not ready for use or publication.
@ -37,7 +37,7 @@ public enum QuestionnaireStatusEnum {
DRAFT("draft", "http://hl7.org/fhir/questionnaire-status"),
/**
* Display: <b>published</b><br/>
* Display: <b>published</b><br>
* Code Value: <b>published</b>
*
* This Questionnaire is used as a template, is published and ready for use.
@ -45,7 +45,7 @@ public enum QuestionnaireStatusEnum {
PUBLISHED("published", "http://hl7.org/fhir/questionnaire-status"),
/**
* Display: <b>retired</b><br/>
* Display: <b>retired</b><br>
* Code Value: <b>retired</b>
*
* This Questionnaire is used as a template but should no longer be used for new Questionnaires.
@ -53,7 +53,7 @@ public enum QuestionnaireStatusEnum {
RETIRED("retired", "http://hl7.org/fhir/questionnaire-status"),
/**
* Display: <b>in progress</b><br/>
* Display: <b>in progress</b><br>
* Code Value: <b>in progress</b>
*
* This Questionnaire has been filled out with answers, but changes or additions are still expected to be made to it.
@ -61,7 +61,7 @@ public enum QuestionnaireStatusEnum {
IN_PROGRESS("in progress", "http://hl7.org/fhir/questionnaire-status"),
/**
* Display: <b>complete</b><br/>
* Display: <b>complete</b><br>
* Code Value: <b>completed</b>
*
* This Questionnaire has been filled out with answers, and the current content is regarded as definitive.
@ -69,7 +69,7 @@ public enum QuestionnaireStatusEnum {
COMPLETE("completed", "http://hl7.org/fhir/questionnaire-status"),
/**
* Display: <b>amended</b><br/>
* Display: <b>amended</b><br>
* Code Value: <b>amended</b>
*
* This Questionnaire has been filled out with answers, then marked as complete, yet changes or additions have been made to it afterwards.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SecurityEventActionEnum {
/**
* Display: <b>Create</b><br/>
* Display: <b>Create</b><br>
* Code Value: <b>C</b>
*
* Create a new database object, such as Placing an Order.
@ -37,7 +37,7 @@ public enum SecurityEventActionEnum {
CREATE("C", "http://hl7.org/fhir/security-event-action"),
/**
* Display: <b>Read/View/Print</b><br/>
* Display: <b>Read/View/Print</b><br>
* Code Value: <b>R</b>
*
* Display or print data, such as a Doctor Census.
@ -45,7 +45,7 @@ public enum SecurityEventActionEnum {
READ_VIEW_PRINT("R", "http://hl7.org/fhir/security-event-action"),
/**
* Display: <b>Update</b><br/>
* Display: <b>Update</b><br>
* Code Value: <b>U</b>
*
* Update data, such as Revise Patient Information.
@ -53,7 +53,7 @@ public enum SecurityEventActionEnum {
UPDATE("U", "http://hl7.org/fhir/security-event-action"),
/**
* Display: <b>Delete</b><br/>
* Display: <b>Delete</b><br>
* Code Value: <b>D</b>
*
* Delete items, such as a doctor master file record.
@ -61,7 +61,7 @@ public enum SecurityEventActionEnum {
DELETE("D", "http://hl7.org/fhir/security-event-action"),
/**
* Display: <b>Execute</b><br/>
* Display: <b>Execute</b><br>
* Code Value: <b>E</b>
*
* Perform a system or application function such as log-on, program execution or use of an object's method, or perform a query/search operation.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SecurityEventObjectRoleEnum {
/**
* Display: <b>Patient</b><br/>
* Display: <b>Patient</b><br>
* Code Value: <b>1</b>
*
* This object is the patient that is the subject of care related to this event. It is identifiable by patient ID or equivalent. The patient may be either human or animal.
@ -37,7 +37,7 @@ public enum SecurityEventObjectRoleEnum {
PATIENT("1", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Location</b><br/>
* Display: <b>Location</b><br>
* Code Value: <b>2</b>
*
* This is a location identified as related to the event. This is usually the location where the event took place. Note that for shipping, the usual events are arrival at a location or departure from a location.
@ -45,7 +45,7 @@ public enum SecurityEventObjectRoleEnum {
LOCATION("2", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Report</b><br/>
* Display: <b>Report</b><br>
* Code Value: <b>3</b>
*
* This object is any kind of persistent document created as a result of the event. This could be a paper report, film, electronic report, DICOM Study, etc. Issues related to medical records life cycle management are conveyed elsewhere.
@ -53,7 +53,7 @@ public enum SecurityEventObjectRoleEnum {
REPORT("3", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Resource</b><br/>
* Display: <b>Resource</b><br>
* Code Value: <b>4</b>
*
* A logical object related to the event. (Deprecated).
@ -61,7 +61,7 @@ public enum SecurityEventObjectRoleEnum {
RESOURCE("4", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Master file</b><br/>
* Display: <b>Master file</b><br>
* Code Value: <b>5</b>
*
* This is any configurable file used to control creation of documents. Examples include the objects maintained by the HL7 Master File transactions, Value Sets, etc.
@ -69,7 +69,7 @@ public enum SecurityEventObjectRoleEnum {
MASTER_FILE("5", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>User</b><br/>
* Display: <b>User</b><br>
* Code Value: <b>6</b>
*
* A human participant not otherwise identified by some other category.
@ -77,7 +77,7 @@ public enum SecurityEventObjectRoleEnum {
USER("6", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>List</b><br/>
* Display: <b>List</b><br>
* Code Value: <b>7</b>
*
* (deprecated).
@ -85,7 +85,7 @@ public enum SecurityEventObjectRoleEnum {
LIST("7", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Doctor</b><br/>
* Display: <b>Doctor</b><br>
* Code Value: <b>8</b>
*
* Typically a licensed person who is providing or performing care related to the event, generally a physician. The key distinction between doctor and practitioner is with regards to their role, not the licensing. The doctor is the human who actually performed the work. The practitioner is the human or organization that is responsible for the work.
@ -93,7 +93,7 @@ public enum SecurityEventObjectRoleEnum {
DOCTOR("8", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Subscriber</b><br/>
* Display: <b>Subscriber</b><br>
* Code Value: <b>9</b>
*
* A person or system that is being notified as part of the event. This is relevant in situations where automated systems provide notifications to other parties when an event took place.
@ -101,7 +101,7 @@ public enum SecurityEventObjectRoleEnum {
SUBSCRIBER("9", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Guarantor</b><br/>
* Display: <b>Guarantor</b><br>
* Code Value: <b>10</b>
*
* Insurance company, or any other organization who accepts responsibility for paying for the healthcare event.
@ -109,7 +109,7 @@ public enum SecurityEventObjectRoleEnum {
GUARANTOR("10", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Security User Entity</b><br/>
* Display: <b>Security User Entity</b><br>
* Code Value: <b>11</b>
*
* A person or active system object involved in the event with a security role.
@ -117,7 +117,7 @@ public enum SecurityEventObjectRoleEnum {
SECURITY_USER_ENTITY("11", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Security User Group</b><br/>
* Display: <b>Security User Group</b><br>
* Code Value: <b>12</b>
*
* A person or system object involved in the event with the authority to modify security roles of other objects.
@ -125,7 +125,7 @@ public enum SecurityEventObjectRoleEnum {
SECURITY_USER_GROUP("12", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Security Resource</b><br/>
* Display: <b>Security Resource</b><br>
* Code Value: <b>13</b>
*
* A passive object, such as a role table, that is relevant to the event.
@ -133,7 +133,7 @@ public enum SecurityEventObjectRoleEnum {
SECURITY_RESOURCE("13", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Security Granularity Definition</b><br/>
* Display: <b>Security Granularity Definition</b><br>
* Code Value: <b>14</b>
*
* (deprecated) Relevant to certain RBAC security methodologies.
@ -141,7 +141,7 @@ public enum SecurityEventObjectRoleEnum {
SECURITY_GRANULARITY_DEFINITION("14", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Practitioner</b><br/>
* Display: <b>Practitioner</b><br>
* Code Value: <b>15</b>
*
* Any person or organization responsible for providing care. This encompasses all forms of care, licensed or otherwise, and all sorts of teams and care groups. Note, the distinction between practitioners and the doctor that actually provided the care to the patient.
@ -149,7 +149,7 @@ public enum SecurityEventObjectRoleEnum {
PRACTITIONER("15", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Data Destination</b><br/>
* Display: <b>Data Destination</b><br>
* Code Value: <b>16</b>
*
* The source or destination for data transfer, when it does not match some other role.
@ -157,7 +157,7 @@ public enum SecurityEventObjectRoleEnum {
DATA_DESTINATION("16", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Data Repository</b><br/>
* Display: <b>Data Repository</b><br>
* Code Value: <b>17</b>
*
* A source or destination for data transfer, that acts as an archive, database, or similar role.
@ -165,7 +165,7 @@ public enum SecurityEventObjectRoleEnum {
DATA_REPOSITORY("17", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Schedule</b><br/>
* Display: <b>Schedule</b><br>
* Code Value: <b>18</b>
*
* An object that holds schedule information. This could be an appointment book, availability information, etc.
@ -173,7 +173,7 @@ public enum SecurityEventObjectRoleEnum {
SCHEDULE("18", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Customer</b><br/>
* Display: <b>Customer</b><br>
* Code Value: <b>19</b>
*
* An organization or person that is the recipient of services. This could be an organization that is buying services for a patient, or a person that is buying services for an animal.
@ -181,7 +181,7 @@ public enum SecurityEventObjectRoleEnum {
CUSTOMER("19", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Job</b><br/>
* Display: <b>Job</b><br>
* Code Value: <b>20</b>
*
* An order, task, work item, procedure step, or other description of work to be performed. E.g., a particular instance of an MPPS.
@ -189,7 +189,7 @@ public enum SecurityEventObjectRoleEnum {
JOB("20", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Job Stream</b><br/>
* Display: <b>Job Stream</b><br>
* Code Value: <b>21</b>
*
* A list of jobs or a system that provides lists of jobs. E.g., an MWL SCP.
@ -197,7 +197,7 @@ public enum SecurityEventObjectRoleEnum {
JOB_STREAM("21", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Table</b><br/>
* Display: <b>Table</b><br>
* Code Value: <b>22</b>
*
* (Deprecated).
@ -205,7 +205,7 @@ public enum SecurityEventObjectRoleEnum {
TABLE("22", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Routing Criteria</b><br/>
* Display: <b>Routing Criteria</b><br>
* Code Value: <b>23</b>
*
* An object that specifies or controls the routing or delivery of items. For example, a distribution list is the routing criteria for mail. The items delivered may be documents, jobs, or other objects.
@ -213,7 +213,7 @@ public enum SecurityEventObjectRoleEnum {
ROUTING_CRITERIA("23", "http://hl7.org/fhir/object-role"),
/**
* Display: <b>Query</b><br/>
* Display: <b>Query</b><br>
* Code Value: <b>24</b>
*
* The contents of a query. This is used to capture the contents of any kind of query. For security surveillance purposes knowing the queries being made is very important.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SecurityEventOutcomeEnum {
/**
* Display: <b>Success</b><br/>
* Display: <b>Success</b><br>
* Code Value: <b>0</b>
*
* The operation completed successfully (whether with warnings or not).
@ -37,7 +37,7 @@ public enum SecurityEventOutcomeEnum {
SUCCESS("0", "http://hl7.org/fhir/security-event-outcome"),
/**
* Display: <b>Minor failure</b><br/>
* Display: <b>Minor failure</b><br>
* Code Value: <b>4</b>
*
* The action was not successful due to some kind of catered for error (often equivalent to an HTTP 400 response).
@ -45,7 +45,7 @@ public enum SecurityEventOutcomeEnum {
MINOR_FAILURE("4", "http://hl7.org/fhir/security-event-outcome"),
/**
* Display: <b>Serious failure</b><br/>
* Display: <b>Serious failure</b><br>
* Code Value: <b>8</b>
*
* The action was not successful due to some kind of unexpected error (often equivalent to an HTTP 500 response).
@ -53,7 +53,7 @@ public enum SecurityEventOutcomeEnum {
SERIOUS_FAILURE("8", "http://hl7.org/fhir/security-event-outcome"),
/**
* Display: <b>Major failure</b><br/>
* Display: <b>Major failure</b><br>
* Code Value: <b>12</b>
*
* An error of such magnitude occurred that the system is not longer available for use (i.e. the system died).

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SecurityEventSourceTypeEnum {
/**
* Display: <b>User Device</b><br/>
* Display: <b>User Device</b><br>
* Code Value: <b>1</b>
*
* End-user display device, diagnostic device
@ -37,7 +37,7 @@ public enum SecurityEventSourceTypeEnum {
USER_DEVICE("1", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Data Interface</b><br/>
* Display: <b>Data Interface</b><br>
* Code Value: <b>2</b>
*
* Data acquisition device or instrument
@ -45,7 +45,7 @@ public enum SecurityEventSourceTypeEnum {
DATA_INTERFACE("2", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Web Server</b><br/>
* Display: <b>Web Server</b><br>
* Code Value: <b>3</b>
*
* Web Server process or thread
@ -53,7 +53,7 @@ public enum SecurityEventSourceTypeEnum {
WEB_SERVER("3", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Application Server</b><br/>
* Display: <b>Application Server</b><br>
* Code Value: <b>4</b>
*
* Application Server process or thread
@ -61,7 +61,7 @@ public enum SecurityEventSourceTypeEnum {
APPLICATION_SERVER("4", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Database Server</b><br/>
* Display: <b>Database Server</b><br>
* Code Value: <b>5</b>
*
* Database Server process or thread
@ -69,7 +69,7 @@ public enum SecurityEventSourceTypeEnum {
DATABASE_SERVER("5", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Security Server</b><br/>
* Display: <b>Security Server</b><br>
* Code Value: <b>6</b>
*
* Security server, e.g., a domain controller
@ -77,7 +77,7 @@ public enum SecurityEventSourceTypeEnum {
SECURITY_SERVER("6", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Network Device</b><br/>
* Display: <b>Network Device</b><br>
* Code Value: <b>7</b>
*
* ISO level 1-3 network component
@ -85,7 +85,7 @@ public enum SecurityEventSourceTypeEnum {
NETWORK_DEVICE("7", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Network Router</b><br/>
* Display: <b>Network Router</b><br>
* Code Value: <b>8</b>
*
* ISO level 4-6 operating software
@ -93,7 +93,7 @@ public enum SecurityEventSourceTypeEnum {
NETWORK_ROUTER("8", "http://hl7.org/fhir/security-source-type"),
/**
* Display: <b>Other</b><br/>
* Display: <b>Other</b><br>
* Code Value: <b>9</b>
*
* other kind of device (defined by DICOM, but some other code/system can be used)

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SupplyDispenseStatusEnum {
/**
* Display: <b>In Progress</b><br/>
* Display: <b>In Progress</b><br>
* Code Value: <b>in progress</b>
*
* Supply has been requested, but not dispensed.
@ -37,7 +37,7 @@ public enum SupplyDispenseStatusEnum {
IN_PROGRESS("in progress", "http://hl7.org/fhir/valueset-supply-dispense-status"),
/**
* Display: <b>Dispensed</b><br/>
* Display: <b>Dispensed</b><br>
* Code Value: <b>dispensed</b>
*
* Supply is part of a pharmacy order and has been dispensed.
@ -45,7 +45,7 @@ public enum SupplyDispenseStatusEnum {
DISPENSED("dispensed", "http://hl7.org/fhir/valueset-supply-dispense-status"),
/**
* Display: <b>Abandoned</b><br/>
* Display: <b>Abandoned</b><br>
* Code Value: <b>abandoned</b>
*
* Dispensing was not completed.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SupplyItemTypeEnum {
/**
* Display: <b>Central Supply</b><br/>
* Display: <b>Central Supply</b><br>
* Code Value: <b>medication</b>
*
* Supply is a kind of medication.
@ -37,7 +37,7 @@ public enum SupplyItemTypeEnum {
CENTRAL_SUPPLY("medication", "http://hl7.org/fhir/supply-item-type"),
/**
* Display: <b>Device</b><br/>
* Display: <b>Device</b><br>
* Code Value: <b>device</b>
*
* What is supplied (or requested) is a device

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SupplyStatusEnum {
/**
* Display: <b>Requested</b><br/>
* Display: <b>Requested</b><br>
* Code Value: <b>requested</b>
*
* Supply has been requested, but not dispensed.
@ -37,7 +37,7 @@ public enum SupplyStatusEnum {
REQUESTED("requested", "http://hl7.org/fhir/valueset-supply-status"),
/**
* Display: <b>Dispensed</b><br/>
* Display: <b>Dispensed</b><br>
* Code Value: <b>dispensed</b>
*
* Supply is part of a pharmacy order and has been dispensed.
@ -45,7 +45,7 @@ public enum SupplyStatusEnum {
DISPENSED("dispensed", "http://hl7.org/fhir/valueset-supply-status"),
/**
* Display: <b>Received</b><br/>
* Display: <b>Received</b><br>
* Code Value: <b>received</b>
*
* Supply has been received by the requestor.
@ -53,7 +53,7 @@ public enum SupplyStatusEnum {
RECEIVED("received", "http://hl7.org/fhir/valueset-supply-status"),
/**
* Display: <b>Failed</b><br/>
* Display: <b>Failed</b><br>
* Code Value: <b>failed</b>
*
* The supply will not be completed because the supplier was unable or unwilling to supply the item.
@ -61,7 +61,7 @@ public enum SupplyStatusEnum {
FAILED("failed", "http://hl7.org/fhir/valueset-supply-status"),
/**
* Display: <b>Cancelled</b><br/>
* Display: <b>Cancelled</b><br>
* Code Value: <b>cancelled</b>
*
* The orderer of the supply cancelled the request.

View File

@ -29,7 +29,7 @@ import ca.uhn.fhir.model.api.IValueSetEnumBinder;
public enum SupplyTypeEnum {
/**
* Display: <b>Central Supply</b><br/>
* Display: <b>Central Supply</b><br>
* Code Value: <b>central</b>
*
* Supply is stored and requested from central supply
@ -37,7 +37,7 @@ public enum SupplyTypeEnum {
CENTRAL_SUPPLY("central", "http://hl7.org/fhir/supply-type"),
/**
* Display: <b>Non-Stock</b><br/>
* Display: <b>Non-Stock</b><br>
* Code Value: <b>nonstock</b>
*
* Supply is not onsite and must be requested from an outside vendor using a non-stock requisition

View File

@ -106,7 +106,7 @@ public class IdDt implements IPrimitiveDatatype<String> {
*
* @param theResourceType
* The resource type (e.g. "Patient")
* @param theId
* @param theIdPart
* The ID (e.g. "123")
*/
public IdDt(String theResourceType, BigDecimal theIdPart) {
@ -377,7 +377,6 @@ public class IdDt implements IPrimitiveDatatype<String> {
* <p>
* regex: [a-z0-9\-\.]{1,36}
* </p>
* @return
*/
@Override
public IdDt setValue(String theValue) throws DataFormatException {

View File

@ -65,7 +65,7 @@ public class XhtmlDt extends BasePrimitive<List<XMLEvent>> {
* surrounding the text.
* </p>
* <p>
* Also note that if the parsed text contains any entities (&foo;) which are not a part of the entities defined in core XML (e.g. &amp;sect; which
* Also note that if the parsed text contains any entities (&amp;foo;) which are not a part of the entities defined in core XML (e.g. &amp;sect; which
* is valid in XHTML 1.0 but not in XML 1.0) they will be parsed and converted to their equivalent unicode character.
* </p>
*/

View File

@ -45,7 +45,7 @@ public class DefaultThymeleafNarrativeGenerator extends BaseThymeleafNarrativeGe
/**
* If set to <code>true</code> (default is <code>false</code>) a special custom narrative for the
* {@link ca.uhn.fhir.model.dstu.resource.Conformance} resource will be provided, which is designed to be used with
* Conformance resource will be provided, which is designed to be used with
* HAPI {@link RestfulServer} instances. This narrative provides a friendly search
* page which can assist users of the service.
*/
@ -55,7 +55,7 @@ public class DefaultThymeleafNarrativeGenerator extends BaseThymeleafNarrativeGe
/**
* If set to <code>true</code> (default is <code>false</code>) a special custom narrative for the
* {@link ca.uhn.fhir.model.dstu.resource.Conformance} resource will be provided, which is designed to be used with
* Conformance resource will be provided, which is designed to be used with
* HAPI {@link RestfulServer} instances. This narrative provides a friendly search
* page which can assist users of the service.
*/

View File

@ -112,7 +112,7 @@ public interface IParser {
/**
* Parses a resource
*
* @param theString
* @param theMessageString
* The string to parse
* @return A parsed resource
* @throws DataFormatException

View File

@ -70,7 +70,7 @@ import ca.uhn.fhir.model.primitive.IdDt;
public @interface AddTags {
/**
* If set to a type other than the default (which is {@link IResource.class}
* If set to a type other than the default (which is {@link IResource}
* , this method is expected to return a TagList containing only tags which
* are specific to the given resource type.
*/

View File

@ -66,7 +66,7 @@ import ca.uhn.fhir.model.primitive.IdDt;
public @interface DeleteTags {
/**
* If set to a type other than the default (which is {@link IResource.class}
* If set to a type other than the default (which is {@link IResource}
* , this method is expected to return a TagList containing only tags which
* are specific to the given resource type.
*/

View File

@ -74,7 +74,7 @@ import ca.uhn.fhir.model.primitive.IdDt;
public @interface GetTags {
/**
* If set to a type other than the default (which is {@link IResource.class}
* If set to a type other than the default (which is {@link IResource}
* , this method is expected to return a TagList containing only tags which
* are specific to the given resource type.
*/

View File

@ -40,31 +40,31 @@ import ca.uhn.fhir.model.primitive.IdDt;
* <p>
* The history command supports three usage patterns, as described in the
* <a href="http://hl7.org/implement/standards/fhir/http.html#history">FHIR history</a> documentation:
* </p>
* <ul>
* <li>
* A search for the history of all resources on a server. In this case, {@link #resourceType()}
* should be set to {@link AllResources} (as is the default) and the method should not have an ID parameter.
* A search for the history of all resources on a server. In this case, {@link #type()}
* should be set to {@link IResource} (as is the default) and the method should not have an ID parameter.
* <ul><li>
* To invoke this pattern: <code>GET [base]/_history{?[parameters]&_format=[mime-type]}</code>
* To invoke this pattern: <code>GET [base]/_history{?[parameters]&amp;_format=[mime-type]}</code>
* </li></ul>
* </li>
* <li>
* A search for the history of all instances of a specific resource type on a server. In this case, {@link #resourceType()}
* should be set to the specific resource type (e.g. {@link Patient Patient.class} and the method should not have an ID parameter.
* A search for the history of all instances of a specific resource type on a server. In this case, {@link #type()}
* should be set to the specific resource type (e.g. <code>Patient.class</code>) and the method should not have an ID parameter.
* <ul><li>
* To invoke this pattern: <code>GET [base]/[type]/_history{?[parameters]&_format=[mime-type]}</code>
* To invoke this pattern: <code>GET [base]/[type]/_history{?[parameters]&amp;_format=[mime-type]}</code>
* </li></ul>
* </li>
* <li>
* A search for the history of a specific instances of a specific resource type on a server. In this case, {@link #resourceType()}
* should be set to the specific resource type (e.g. {@link Patient Patient.class} and the method should
* A search for the history of a specific instances of a specific resource type on a server. In this case, {@link #type()}
* should be set to the specific resource type (e.g. <code>Patient.class</code> and the method should
* have one parameter of type {@link IdDt} annotated with the {@link IdParam} annotation.
* <ul><li>
* To invoke this pattern: <code>GET [base]/[type]/[id]/_history{?[parameters]&_format=[mime-type]}</code>
* To invoke this pattern: <code>GET [base]/[type]/[id]/_history{?[parameters]&amp;_format=[mime-type]}</code>
* </li></ul>
* </li>
* </ul>
* </p>
*
* @see Count
* @see Since

View File

@ -30,7 +30,8 @@ import java.lang.annotation.Target;
* RESTful method annotation used for a method which provides
* the FHIR "conformance" method.
*
* @see See the <a href="http://hl7.org/implement/standards/fhir/http.html#conformance">FHIR HTTP Conformance</a> definition
* See the <a href="http://hl7.org/implement/standards/fhir/http.html#conformance">FHIR HTTP Conformance</a> definition
* fore more information.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value=ElementType.METHOD)

View File

@ -61,12 +61,12 @@ public @interface OptionalParam {
* ID).
* <p>
* Valid values for this parameter include:
* </p>
* <ul>
* <li><code>chainWhitelist={ OptionalParam.ALLOW_CHAIN_NOTCHAINED }</code> - Only allow resource reference (no chaining allowed for this parameter)</li>
* <li><code>chainWhitelist={ OptionalParam.ALLOW_CHAIN_ANY }</code> - Allow any chaining at all (including a non chained value, <b>this is the default</b>)</li>
* <li><code>chainWhitelist={ "foo", "bar" }</code> - Allow property.foo and property.bar</li>
* </ul>
* </p>
* <p>
* Any values specified in
* {@link #chainBlacklist()} will supercede (have priority over) values
@ -95,15 +95,15 @@ public @interface OptionalParam {
* of the URL parameter used to populate this method parameter.
* <p>
* Most resource model classes have constants which may be used to
* supply values for this field, e.g. {@link Patient#SP_NAME} or
* {@link Observation#SP_DATE}
* supply values for this field, e.g. <code>Patient.SP_NAME</code> or
* <code>Observation.SP_DATE</code>
* </p>
* <p>
* If you wish to specify a parameter for a resource reference which
* only accepts a specific chained value, it is also valid to supply
* a chained name here, such as "patient.name". It is recommended to
* supply this using constants where possible, e.g.
* <code>{@link Observation#SP_SUBJECT} + '.' + {@link Patient#SP_IDENTIFIER}</code>
* <code>Observation.SP_SUBJECT + '.' + Patient.SP_IDENTIFIER</code>
* </p>
*/
String name();

View File

@ -53,12 +53,12 @@ public @interface RequiredParam {
* ID).
* <p>
* Valid values for this parameter include:
* </p>
* <ul>
* <li><code>chainWhitelist={ OptionalParam.ALLOW_CHAIN_NOTCHAINED }</code> - Only allow resource reference (no chaining allowed for this parameter)</li>
* <li><code>chainWhitelist={ OptionalParam.ALLOW_CHAIN_ANY }</code> - Allow any chaining at all (including a non chained value, <b>this is the default</b>)</li>
* <li><code>chainWhitelist={ "foo", "bar" }</code> - Allow property.foo and property.bar</li>
* </ul>
* </p>
* <p>
* Any values specified in
* {@link #chainBlacklist()} will supercede (have priority over) values
@ -82,11 +82,11 @@ public @interface RequiredParam {
/**
* This is the name for the parameter. Generally this should be a simple string (e.g. "name", or "identifier") which will be the name of the URL parameter used to populate this method parameter.
* <p>
* Most resource model classes have constants which may be used to supply values for this field, e.g. {@link Patient#SP_NAME} or {@link Observation#SP_DATE}
* Most resource model classes have constants which may be used to supply values for this field, e.g. Patient.SP_NAME or Observation.SP_DATE
* </p>
* <p>
* If you wish to specify a parameter for a resource reference which only accepts a specific chained value, it is also valid to supply a chained name here, such as "patient.name". It is
* recommended to supply this using constants where possible, e.g. <code>{@link Observation#SP_SUBJECT} + '.' + {@link Patient#SP_IDENTIFIER}</code>
* recommended to supply this using constants where possible, e.g. <code>Observation.SP_SUBJECT + '.' + Patient.SP_IDENTIFIER</code>
* </p>
*/
String name();

View File

@ -36,7 +36,8 @@ import ca.uhn.fhir.rest.server.IResourceProvider;
* RESTful method annotation used for a method which provides
* the FHIR "search" method.
*
* @see See the <a href="http://hl7.org/implement/standards/fhir/http.html#search">FHIR Search</a> definition
* See the <a href="http://hl7.org/implement/standards/fhir/http.html#search">FHIR Search</a> definition
* for more information.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value=ElementType.METHOD)

View File

@ -79,7 +79,7 @@ public interface IGenericClient {
* @param theId
* the ID of the resource to delete
* @return An outcome
* @deprecated Use {@link #delete()) instead
* @deprecated Use {@link #delete()} instead
*/
MethodOutcome delete(Class<? extends IResource> theType, IdDt theId);
@ -91,7 +91,7 @@ public interface IGenericClient {
* @param theId
* the ID of the resource to delete
* @return An outcome
* @deprecated Use {@link #delete()) instead
* @deprecated Use {@link #delete()} instead
*/
MethodOutcome delete(Class<? extends IResource> theType, String theId);
@ -105,7 +105,7 @@ public interface IGenericClient {
*
* @param theType
* The type of resource to return the history for, or
* <code>null<code> to search for history across all resources
* <code>null</code> to search for history across all resources
* @param theId
* The ID of the resource to return the history for, or <code>null</code> to search for all resource
* instances. Note that if this param is not null, <code>theType</code> must also not be null
@ -117,14 +117,14 @@ public interface IGenericClient {
* specification.
* @return A bundle containing returned resources
*/
<T extends IResource> Bundle history(Class<T> theType, IdDt theIdDt, DateTimeDt theSince, Integer theLimit);
<T extends IResource> Bundle history(Class<T> theType, IdDt theId, DateTimeDt theSince, Integer theLimit);
/**
* Implementation of the "history instance" method.
*
* @param theType
* The type of resource to return the history for, or
* <code>null<code> to search for history across all resources
* <code>null</code> to search for history across all resources
* @param theId
* The ID of the resource to return the history for, or <code>null</code> to search for all resource
* instances. Note that if this param is not null, <code>theType</code> must also not be null
@ -136,7 +136,7 @@ public interface IGenericClient {
* specification.
* @return A bundle containing returned resources
*/
<T extends IResource> Bundle history(Class<T> theType, String theIdDt, DateTimeDt theSince, Integer theLimit);
<T extends IResource> Bundle history(Class<T> theType, String theId, DateTimeDt theSince, Integer theLimit);
/**
* Loads the previous/next bundle of resources from a paged set, using the link specified in the "link type=next"
@ -214,7 +214,6 @@ public interface IGenericClient {
* @param theType
* The type of resource to load
* @param theParams
* @return
*/
<T extends IBaseResource> Bundle search(Class<T> theType, Map<String, List<IQueryParameterType>> theParams);
@ -277,7 +276,7 @@ public interface IGenericClient {
* The new resource body
* @return An outcome containing the results and possibly the new version ID
*/
MethodOutcome update(IdDt theIdDt, IResource theResource);
MethodOutcome update(IdDt theId, IResource theResource);
/**
* Implementation of the "instance update" method.
@ -288,13 +287,11 @@ public interface IGenericClient {
* The new resource body
* @return An outcome containing the results and possibly the new version ID
*/
MethodOutcome update(String theIdDt, IResource theResource);
MethodOutcome update(String theId, IResource theResource);
/**
* Implementation of the "type validate" method.
*
* @param theId
* The ID to validate
* @param theResource
* The resource to validate
* @return An outcome containing any validation issues

View File

@ -60,7 +60,7 @@ public class RestfulClientFactory implements IRestfulClientFactory {
/**
* Constructor
*
* @param theContext
* @param theFhirContext
* The context
*/
public RestfulClientFactory(FhirContext theFhirContext) {

View File

@ -32,7 +32,8 @@ public interface IBasicClient extends IRestfulClient {
/**
* Returns the server conformance statement
*
* @see See the <a href="http://hl7.org/implement/standards/fhir/http.html#conformance">FHIR HTTP Conformance</a> definition
* See the <a href="http://hl7.org/implement/standards/fhir/http.html#conformance">FHIR HTTP Conformance</a> definition
* for more information.
*/
@Metadata
BaseConformance getServerConformanceStatement();

View File

@ -33,8 +33,8 @@ import ca.uhn.fhir.rest.server.Constants;
* HTTP interceptor to be used for adding HTTP Authorization using "bearer tokens" to requests. Bearer tokens are used for protocols such as OAUTH2 (see the <a
* href="http://tools.ietf.org/html/rfc6750">RFC 6750</a> specification on bearer token usage for more information).
* <p>
* This interceptor adds a header resembling the following:<br/>
* &nbsp;&nbsp;&nbsp;<code>Authorization: Bearer dsfu9sd90fwp34.erw0-reu</code><br/>
* This interceptor adds a header resembling the following:<br>
* &nbsp;&nbsp;&nbsp;<code>Authorization: Bearer dsfu9sd90fwp34.erw0-reu</code><br>
* where the token portion (at the end of the header) is supplied by the invoking code.
* </p>
* <p>

View File

@ -29,8 +29,8 @@ import ca.uhn.fhir.rest.server.Constants;
/**
* HTTP interceptor to be used for adding Cookie to requests.
* <p>
* This interceptor adds a header resembling the following:<br/>
* &nbsp;&nbsp;&nbsp;<code>Cookie: [key]=[value]</code><br/>
* This interceptor adds a header resembling the following:<br>
* &nbsp;&nbsp;&nbsp;<code>Cookie: [key]=[value]</code><br>
* </p>
*/

View File

@ -137,7 +137,7 @@ public class TokenClientParam implements IParam {
* Creates a search criterion that matches against the given collection of identifiers (system and code if both are present, or whatever is present).
* In the query URL that is generated, identifiers will be joined with a ',' to create an OR query.
*
* @param theIdentifier
* @param theIdentifiers
* The identifier
* @return A criterion
*/
@ -147,7 +147,7 @@ public class TokenClientParam implements IParam {
* Creates a search criterion that matches against the given collection of identifiers (system and code if both are present, or whatever is present).
* In the query URL that is generated, identifiers will be joined with a ',' to create an OR query.
*
* @param theIdentifier
* @param theIdentifiers
* The identifier
* @return A criterion
*/

View File

@ -29,23 +29,23 @@ public enum SearchStyleEnum {
/**
* This is the most common (and generally the default) behaviour. Performs the search using the style:
* <br/>
* <br>
* <code>GET [base]/[resource type]?[params]</code>
*/
GET,
/**
* This is the most common (and generally the default) behaviour. Performs the search using the style:
* <br/>
* <br>
* <code>GET [base]/[resource type]/_search?[params]</code>
*/
GET_WITH_SEARCH,
/**
* This is the most common (and generally the default) behaviour. Performs the search using the style:
* <br/>
* <br>
* <code>POST [base]/[resource type]/_search</code>
* <br/>
* <br>
* and the params in a form encoded POST body.
*/
POST

View File

@ -54,7 +54,7 @@ public class QuantityParam extends BaseParam implements IQueryParameterType {
*
* @param theComparator
* The comparator, or <code>null</code> for an equals comparator
* @param theQuantity
* @param theValue
* A quantity value
* @param theSystem
* The unit system
@ -73,7 +73,7 @@ public class QuantityParam extends BaseParam implements IQueryParameterType {
*
* @param theComparator
* The comparator, or <code>null</code> for an equals comparator
* @param theQuantity
* @param theValue
* A quantity value
* @param theSystem
* The unit system
@ -92,7 +92,7 @@ public class QuantityParam extends BaseParam implements IQueryParameterType {
*
* @param theComparator
* The comparator, or <code>null</code> for an equals comparator
* @param theQuantity
* @param theValue
* A quantity value
* @param theSystem
* The unit system
@ -110,7 +110,7 @@ public class QuantityParam extends BaseParam implements IQueryParameterType {
* Constructor
*
* @param theQuantity
* A quantity value (with no system or units), such as "100.0" or "<=4"
* A quantity value (with no system or units), such as "100.0" or "&lt;=4"
*/
public QuantityParam(String theQuantity) {
setValueAsQueryToken(null, theQuantity);
@ -120,7 +120,7 @@ public class QuantityParam extends BaseParam implements IQueryParameterType {
* Constructor
*
* @param theQuantity
* A quantity value (with no system or units), such as "100.0" or "<=4"
* A quantity value (with no system or units), such as "100.0" or "&lt;=4"
* @param theSystem
* The unit system
* @param theUnits

View File

@ -20,13 +20,13 @@ package ca.uhn.fhir.rest.param;
* #L%
*/
import static org.apache.commons.lang3.StringUtils.*;
import static org.apache.commons.lang3.StringUtils.isBlank;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
import org.hl7.fhir.instance.model.IBaseResource;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.primitive.IdDt;
public class ReferenceParam extends IdDt implements IQueryParameterType {
@ -131,4 +131,79 @@ public class ReferenceParam extends IdDt implements IQueryParameterType {
}
}
/**
* Returns a new param containing the same value as this param, but with the type copnverted
* to {@link TokenParam}. This is useful if you are using reference parameters and want to handle
* chained parameters of different types in a single method.
* <p>
* See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_operations.html#dynamic_chains">Dynamic Chains</a>
* in the HAPI FHIR documentation for an example of how to use this method.
* </p>
*/
public TokenParam toTokenParam() {
TokenParam retVal = new TokenParam();
retVal.setValueAsQueryToken(null, getValueAsQueryToken());
return retVal;
}
/**
* Returns a new param containing the same value as this param, but with the type copnverted
* to {@link DateParam}. This is useful if you are using reference parameters and want to handle
* chained parameters of different types in a single method.
* <p>
* See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_operations.html#dynamic_chains">Dynamic Chains</a>
* in the HAPI FHIR documentation for an example of how to use this method.
* </p>
*/
public DateParam toDateParam() {
DateParam retVal = new DateParam();
retVal.setValueAsQueryToken(null, getValueAsQueryToken());
return retVal;
}
/**
* Returns a new param containing the same value as this param, but with the type copnverted
* to {@link StringParam}. This is useful if you are using reference parameters and want to handle
* chained parameters of different types in a single method.
* <p>
* See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_operations.html#dynamic_chains">Dynamic Chains</a>
* in the HAPI FHIR documentation for an example of how to use this method.
* </p>
*/
public StringParam toStringParam() {
StringParam retVal = new StringParam();
retVal.setValueAsQueryToken(null, getValueAsQueryToken());
return retVal;
}
/**
* Returns a new param containing the same value as this param, but with the type copnverted
* to {@link NumberParam}. This is useful if you are using reference parameters and want to handle
* chained parameters of different types in a single method.
* <p>
* See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_operations.html#dynamic_chains">Dynamic Chains</a>
* in the HAPI FHIR documentation for an example of how to use this method.
* </p>
*/
public NumberParam toNumberParam() {
NumberParam retVal = new NumberParam();
retVal.setValueAsQueryToken(null, getValueAsQueryToken());
return retVal;
}
/**
* Returns a new param containing the same value as this param, but with the type copnverted
* to {@link QuantityParam}. This is useful if you are using reference parameters and want to handle
* chained parameters of different types in a single method.
* <p>
* See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_operations.html#dynamic_chains">Dynamic Chains</a>
* in the HAPI FHIR documentation for an example of how to use this method.
* </p>
*/
public QuantityParam toQuantityParam() {
QuantityParam retVal = new QuantityParam();
retVal.setValueAsQueryToken(null, getValueAsQueryToken());
return retVal;
}
}

View File

@ -57,7 +57,7 @@ public class TokenParam extends BaseParam implements IQueryParameterType {
}
/**
* Constructor which copies the {@link InternalCodingDt#getSystem() system} and {@link InternalCodingDt#getCode() code} from a {@link InternalCodingDt} instance and adds it as a parameter
* Constructor which copies the {@link InternalCodingDt#getSystemElement() system} and {@link InternalCodingDt#getCodeElement() code} from a {@link InternalCodingDt} instance and adds it as a parameter
*
* @param theCodingDt
* The coding
@ -67,10 +67,10 @@ public class TokenParam extends BaseParam implements IQueryParameterType {
}
/**
* Constructor which copies the {@link IdentifierDt#getSystem() system} and {@link IdentifierDt#getValue() value} from a {@link IdentifierDt} instance and adds it as a parameter
* Constructor which copies the {@link BaseIdentifierDt#getSystemElement() system} and {@link BaseIdentifierDt#getValueElement() value} from a {@link BaseIdentifierDt} instance and adds it as a parameter
*
* @param theCodingDt
* The coding
* @param theIdentifierDt
* The identifier
*/
public TokenParam(BaseIdentifierDt theIdentifierDt) {
this(toSystemValue(theIdentifierDt.getSystemElement()), theIdentifierDt.getValueElement().getValue());

View File

@ -72,7 +72,7 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank;
public class RestfulServer extends HttpServlet {
/**
* Default setting for {@link #setETagSupport(ETagSupportEnum)ETag Support}: {@link ETagSupportEnum#ENABLED}
* Default setting for {@link #setETagSupport(ETagSupportEnum) ETag Support}: {@link ETagSupportEnum#ENABLED}
*/
public static final ETagSupportEnum DEFAULT_ETAG_SUPPORT = ETagSupportEnum.ENABLED;
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(RestfulServer.class);
@ -362,7 +362,7 @@ public class RestfulServer extends HttpServlet {
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance
* (metadata) statement.
* <p>
* By default, the {@link ServerConformanceProvider} is used, but this can be changed, or set to <code>null</code>
* By default, the ServerConformanceProvider for the declared version of FHIR is used, but this can be changed, or set to <code>null</code>
* if you do not wish to export a conformance statement.
* </p>
*/
@ -955,7 +955,7 @@ public class RestfulServer extends HttpServlet {
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance
* (metadata) statement.
* <p>
* By default, the {@link ServerConformanceProvider} is used, but this can be changed, or set to <code>null</code>
* By default, the ServerConformanceProvider implementation for the declared version of FHIR is used, but this can be changed, or set to <code>null</code>
* if you do not wish to export a conformance statement.
* </p>
* Note that this method can only be called before the server is initialized.

View File

@ -76,8 +76,8 @@ public abstract class BaseServerResponseException extends RuntimeException {
*
* @param theStatusCode
* The HTTP status code corresponding to this problem
* @param theMessage
* The message
* @param theMessages
* The messages
*/
public BaseServerResponseException(int theStatusCode, String... theMessages) {
super(theMessages != null && theMessages.length > 0 ? theMessages[0] : null);

View File

@ -92,9 +92,9 @@ public interface IServerInterceptor {
* FHIR-specific aspects of the request which have been pulled out of the {@link HttpServletRequest servlet request}.
* @param theResponseObject
* The actual object which is being streamed to the client as a response
* @param theRequest
* @param theServletRequest
* The incoming request
* @param theResponse
* @param theServletResponse
* The response. Note that interceptors may choose to provide a response (i.e. by calling {@link HttpServletResponse#getWriter()}) but in that case it is important to return
* <code>false</code>
* @return Return <code>true</code> if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the
@ -113,9 +113,9 @@ public interface IServerInterceptor {
* A bean containing details about the request that is about to be processed, including
* @param theResponseObject
* The actual object which is being streamed to the client as a response
* @param theRequest
* @param theServletRequest
* The incoming request
* @param theResponse
* @param theServletResponse
* The response. Note that interceptors may choose to provide a response (i.e. by calling {@link HttpServletResponse#getWriter()}) but in that case it is important to return
* <code>false</code>
* @return Return <code>true</code> if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the
@ -135,9 +135,9 @@ public interface IServerInterceptor {
* FHIR-specific aspects of the request which have been pulled out of the {@link HttpServletRequest servlet request}.
* @param theResponseObject
* The actual object which is being streamed to the client as a response
* @param theRequest
* @param theServletRequest
* The incoming request
* @param theResponse
* @param theServletResponse
* The response. Note that interceptors may choose to provide a response (i.e. by calling {@link HttpServletResponse#getWriter()}) but in that case it is important to return
* <code>false</code>
* @return Return <code>true</code> if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the
@ -155,11 +155,9 @@ public interface IServerInterceptor {
* @param theRequestDetails
* A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other
* FHIR-specific aspects of the request which have been pulled out of the {@link HttpServletRequest servlet request}.
* @param theResponseObject
* The actual object which is being streamed to the client as a response
* @param theRequest
* @param theServletRequest
* The incoming request
* @param theResponse
* @param theServletResponse
* The response. Note that interceptors may choose to provide a response (i.e. by calling {@link HttpServletResponse#getWriter()}) but in that case it is important to return
* <code>false</code>
* @return Return <code>true</code> if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the
@ -183,11 +181,9 @@ public interface IServerInterceptor {
* Contains either <code>null</code>, or a bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other
* FHIR-specific aspects of the request which have been pulled out of the {@link HttpServletRequest servlet request}. This parameter may be
* null if the request processing did not successfully parse the incoming request, but will generally not be null.
* @param theResponseObject
* The actual object which is being streamed to the client as a response
* @param theRequest
* @param theServletRequest
* The incoming request
* @param theResponse
* @param theServletResponse
* The response. Note that interceptors may choose to provide a response (i.e. by calling {@link HttpServletResponse#getWriter()}) but in that case it is important to return
* <code>false</code>
* @return Return <code>true</code> if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the

View File

@ -42,7 +42,7 @@ import ca.uhn.fhir.rest.server.exceptions.AuthenticationException;
* <p>
* The following substitution variables are supported:
* </p>
* <table>
* <table summary="Substitution variables supported by this class">
* <tr>
* <td>${id}</td>
* <td>The resource ID associated with this request (or "" if none)</td>

View File

@ -326,7 +326,7 @@ public class DateAndTime {
}
/**
* @param isPositive - true if the tz offset is positive (i.e. +06:00), false if the tz offset is negative (-06:00)
* @param isPositiveOffset - true if the tz offset is positive (i.e. +06:00), false if the tz offset is negative (-06:00)
*/
public void setTzSign(boolean isPositiveOffset) {
positiveOffset = isPositiveOffset;

View File

@ -36,6 +36,8 @@ import java.util.TimeZone;
import org.apache.commons.lang3.time.DateUtils;
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
import ca.uhn.fhir.parser.DataFormatException;
/**
* Represents a FHIR dateTime datatype. Valid precisions values for this type are:
* <ul>

View File

@ -39,7 +39,7 @@ public interface EnumFactory<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 Exception is the value is not known
* @throws IllegalArgumentException is the value is not known
*/
public T fromCode(String codeString) throws IllegalArgumentException;
@ -47,7 +47,7 @@ public interface EnumFactory<T extends Enum<?>> {
* Get the XML/JSON representation for an enumerated value
* @param code - the enumeration value
* @return the XML/JSON representation
* @throws Exception if the enumeration is not valid (would usually indicate a code generation bug)
* @throws IllegalArgumentException if the enumeration is not valid (would usually indicate a code generation bug)
*/
public String toCode(T code) throws IllegalArgumentException;

View File

@ -38,9 +38,7 @@ public interface FhirEnum {
/**
* Get the XML/JSON representation for an enumerated value
* @param code - the enumeration value
* @return the XML/JSON representation
* @throws Exception if the enumeration is not valid (would usually indicate a code generation bug)
*/
public String toCode();

View File

@ -75,7 +75,7 @@ public class InstantType extends BaseDateTimeType {
/**
* Create a new instance using the given date, precision level, and time zone
*
* @throws DataFormatException
* @throws ca.uhn.fhir.parser.DataFormatException
* If the specified precision is not allowed for this type
*/
public InstantType(Date theDate, TemporalPrecisionEnum thePrecision, TimeZone theTimezone) {
@ -123,7 +123,7 @@ public class InstantType extends BaseDateTimeType {
* @param theString
* The string representation of the string. Must be in a valid
* format according to the FHIR specification
* @throws DataFormatException
* @throws ca.uhn.fhir.parser.DataFormatException If the value is invalid
*/
public InstantType(String theString) {
super(theString);

View File

@ -632,14 +632,14 @@ public class Observation extends DomainResource {
@Block()
public static class ObservationReferenceRangeComponent extends BackboneElement {
/**
* The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. <2.3.
* The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. &lt;2.3.
*/
@Child(name="low", type={Quantity.class}, order=1, min=0, max=1)
@Description(shortDefinition="Low Range, if relevant", formalDefinition="The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. <2.3." )
protected Quantity low;
/**
* The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. >5.
* The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. &gt;5.
*/
@Child(name="high", type={Quantity.class}, order=2, min=0, max=1)
@Description(shortDefinition="High Range, if relevant", formalDefinition="The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. >5." )
@ -673,7 +673,7 @@ public class Observation extends DomainResource {
}
/**
* @return {@link #low} (The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. <2.3.)
* @return {@link #low} (The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. &lt;2.3.)
*/
public Quantity getLow() {
if (this.low == null)
@ -689,7 +689,7 @@ public class Observation extends DomainResource {
}
/**
* @param value {@link #low} (The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. <2.3.)
* @param value {@link #low} (The value of the low bound of the reference range. If this is omitted, the low bound of the reference range is assumed to be meaningless. E.g. &lt;2.3.)
*/
public ObservationReferenceRangeComponent setLow(Quantity value) {
this.low = value;
@ -697,7 +697,7 @@ public class Observation extends DomainResource {
}
/**
* @return {@link #high} (The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. >5.)
* @return {@link #high} (The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. &gt;5.)
*/
public Quantity getHigh() {
if (this.high == null)
@ -713,7 +713,7 @@ public class Observation extends DomainResource {
}
/**
* @param value {@link #high} (The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. >5.)
* @param value {@link #high} (The value of the high bound of the reference range. If this is omitted, the high bound of the reference range is assumed to be meaningless. E.g. &gt;5.)
*/
public ObservationReferenceRangeComponent setHigh(Quantity value) {
this.high = value;

View File

@ -156,7 +156,7 @@ public class Quantity extends Type implements ICompositeType{
protected DecimalType value;
/**
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value.
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "&lt;" , then the real value is &lt; stated value.
*/
@Child(name="comparator", type={CodeType.class}, order=0, min=0, max=1)
@Description(shortDefinition="< | <= | >= | > - how to understand the value", formalDefinition="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is '<' , then the real value is < stated value." )
@ -239,7 +239,7 @@ public class Quantity extends Type implements ICompositeType{
}
/**
* @return {@link #comparator} (How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value
* @return {@link #comparator} (How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "&lt;" , then the real value is &lt; stated value.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value
*/
public Enumeration<QuantityComparator> getComparatorElement() {
if (this.comparator == null)
@ -259,7 +259,7 @@ public class Quantity extends Type implements ICompositeType{
}
/**
* @param value {@link #comparator} (How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value
* @param value {@link #comparator} (How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "&lt;" , then the real value is &lt; stated value.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value
*/
public Quantity setComparatorElement(Enumeration<QuantityComparator> value) {
this.comparator = value;
@ -267,14 +267,14 @@ public class Quantity extends Type implements ICompositeType{
}
/**
* @return How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value.
* @return How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "&lt;" , then the real value is &lt; stated value.
*/
public QuantityComparator getComparator() {
return this.comparator == null ? null : this.comparator.getValue();
}
/**
* @param value How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value.
* @param value How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "&lt;" , then the real value is &lt; stated value.
*/
public Quantity setComparator(QuantityComparator value) {
if (value == null)

View File

@ -40,8 +40,8 @@ public @interface DatatypeDef {
/**
* Set this to true (default is false) for any types that are
* really only a specialization of another type. For example,
* {@link BoundCodeDt} is really just a specific type of
* {@link CodeDt} and not a separate datatype, so it should
* <code>BoundCodeDt</code> is really just a specific type of
* <code>CodeDt</code> and not a separate datatype, so it should
* have this set to true.
*/
boolean isSpecialization() default false;

View File

@ -78,7 +78,6 @@ public class Utilities {
*
* @param word the word that is to be pluralized.
* @return the pluralized form of the word, or the word itself if it could not be pluralized
* @see #singularize(Object)
*/
public static String pluralizeMe( String word ) {
Inflector inf = new Inflector();

View File

@ -6,6 +6,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/tinder"/>
<classpathentry excluding="**/*.java" including="**/*.java" kind="src" path="src/test/resources"/>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
@ -26,11 +27,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/classes" path="target/generated-sources/tinder">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="target/generated-resources/tinder">
<attributes>
<attribute name="maven.pomderived" value="true"/>

View File

@ -2,7 +2,7 @@
<wb-module deploy-name="hapi-fhir-jpaserver-base">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
<wb-resource deploy-path="/" source-path="/src/main/resources"/>
<wb-resource deploy-path="/" source-path="/target/generated-sources/tinder"/>
<wb-resource deploy-path="/" source-path="/target/generated-resources/tinder"/>
<wb-resource deploy-path="/" source-path="/target/generated-sources/tinder"/>
</wb-module>
</project-modules>

View File

@ -1,9 +1,18 @@
package ca.uhn.fhir.jpa.dao;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.endsWith;
import static org.hamcrest.Matchers.greaterThan;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@ -1145,9 +1154,8 @@ public class FhirResourceDaoTest {
*/
@Test
public void testStoreUtf8Characters() throws Exception {
String name = "測試醫院";
Organization org = new Organization();
org.setName(new String(name.getBytes(), "UTF-8"));
org.setName("測試醫院");
org.addIdentifier("urn:system", "testStoreUtf8Characters_01");
IdDt orgId = ourOrganizationDao.create(org).getId();

View File

@ -70,9 +70,8 @@ public class CompleteResourceProviderTest {
*/
@Test
public void testStoreUtf8Characters() throws Exception {
String name = "測試醫院";
Organization org = new Organization();
org.setName(name);
org.setName("測試醫院");
org.addIdentifier("urn:system", "testStoreUtf8Characters_01");
IdDt orgId = ourClient.create().resource(org).prettyPrint().encodedXml().execute().getId();

View File

@ -64,7 +64,7 @@ public class BoundCodeableConceptDt<T extends Enum<?>> extends CodeableConceptDt
* codings first. If theValue is null, existing codings are cleared and no
* codings are added.
*
* @param theValue
* @param theValues
* The value to add, or <code>null</code>
*/
public void setValueAsEnum(Collection<T> theValues) {

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.8"/>
<installed facet="java" version="1.6"/>
</faceted-project>

View File

@ -66,8 +66,8 @@ public class BoundCodeableConceptDt<T extends Enum<?>> extends CodeableConceptDt
* codings first. If theValue is null, existing codings are cleared and no
* codings are added.
*
* @param theValue
* The value to add, or <code>null</code>
* @param theValues
* The values to add, or <code>null</code>
*/
public void setValueAsEnum(Collection<T> theValues) {
getCoding().clear();

View File

@ -1,12 +1,41 @@
package ca.uhn.fhir.rest.server;
import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.BundleEntry;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.dstu.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu.resource.*;
import ca.uhn.fhir.model.dstu.resource.Conformance;
import ca.uhn.fhir.model.dstu.resource.Conformance.RestResource;
import ca.uhn.fhir.model.dstu.resource.Conformance.RestResourceSearchParam;
import ca.uhn.fhir.model.dstu.resource.Location;
import ca.uhn.fhir.model.dstu.resource.Observation;
import ca.uhn.fhir.model.dstu.resource.Organization;
import ca.uhn.fhir.model.dstu.resource.Patient;
import ca.uhn.fhir.model.dstu.valueset.ResourceTypeEnum;
import ca.uhn.fhir.model.primitive.IdDt;
import ca.uhn.fhir.rest.annotation.IdParam;
@ -17,83 +46,60 @@ import ca.uhn.fhir.rest.param.ReferenceParam;
import ca.uhn.fhir.rest.param.StringParam;
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
import ca.uhn.fhir.util.PortUtil;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
/**
* Created by dsotnikov on 2/25/2014.
*/
public class ReferenceParameterTest {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ReferenceParameterTest.class);
private static CloseableHttpClient ourClient;
private static FhirContext ourCtx;
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ReferenceParameterTest.class);
private static int ourPort;
private static Server ourServer;
private static FhirContext ourCtx;
private static ReferenceParam ourLastRefParam;
@AfterClass
public static void afterClass() throws Exception {
ourServer.stop();
}
@BeforeClass
public static void beforeClass() throws Exception {
ourPort = PortUtil.findFreePort();
ourServer = new Server(ourPort);
DummyPatientResourceProvider patientProvider = new DummyPatientResourceProvider();
ServletHandler proxyHandler = new ServletHandler();
RestfulServer servlet = new RestfulServer();
ourCtx = servlet.getFhirContext();
servlet.setResourceProviders(patientProvider, new DummyOrganizationResourceProvider(), new DummyLocationResourceProvider());
ServletHolder servletHolder = new ServletHolder(servlet);
proxyHandler.addServletWithMapping(servletHolder, "/*");
ourServer.setHandler(proxyHandler);
ourServer.start();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(5000, TimeUnit.MILLISECONDS);
HttpClientBuilder builder = HttpClientBuilder.create();
builder.setConnectionManager(connectionManager);
ourClient = builder.build();
ourCtx = servlet.getFhirContext();
@Before
public void before() {
ourLastRefParam = null;
}
@Test
public void testSearchWithValue() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + "=123");
public void testParamTypesInConformanceStatement() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/metadata?_pretty=true");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
ourLog.info(responseContent);
assertEquals(200, status.getStatusLine().getStatusCode());
Conformance conf = ourCtx.newXmlParser().parseResource(Conformance.class, responseContent);
RestResource res = conf.getRestFirstRep().getResource().get(2);
assertEquals("Patient", res.getType().getValue());
RestResourceSearchParam param = res.getSearchParamFirstRep();
assertEquals(Patient.SP_PROVIDER, param.getName().getValue());
assertEquals(1, param.getTarget().size());
assertEquals(ResourceTypeEnum.ORGANIZATION, param.getTarget().get(0).getValueAsEnum());
}
@Test
public void testReadReturnVersionedReferenceInResponse() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient/22");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2", p.getName().get(2).getFamilyFirstRep().getValue());
Patient p = ourCtx.newXmlParser().parseResource(Patient.class, responseContent);
assertThat(status.getFirstHeader("Content-Location").getValue(), containsString("Patient/22/_history/33"));
assertEquals("44", p.getManagingOrganization().getReference().getIdPart());
assertEquals("55", p.getManagingOrganization().getReference().getVersionIdPart());
}
@Test
@ -116,55 +122,6 @@ public class ReferenceParameterTest {
assertEquals("55", p.getManagingOrganization().getReference().getVersionIdPart());
}
@Test
public void testReadReturnVersionedReferenceInResponse() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient/22");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
Patient p = ourCtx.newXmlParser().parseResource(Patient.class, responseContent);
assertThat(status.getFirstHeader("Content-Location").getValue(), containsString("Patient/22/_history/33"));
assertEquals("44", p.getManagingOrganization().getReference().getIdPart());
assertEquals("55", p.getManagingOrganization().getReference().getVersionIdPart());
}
@Test
public void testSearchWithValueAndType() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + ":Organization=123");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1Organization", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2", p.getName().get(2).getFamilyFirstRep().getValue());
}
@Test
public void testSearchWithValueAndTypeAndChain() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + ":Organization.name=123");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1Organization", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2name", p.getName().get(2).getFamilyFirstRep().getValue());
}
@Test
public void testSearchWithMultipleParamsOfTheSameName1() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Organization?partof=po123");
@ -195,7 +152,7 @@ public class ReferenceParameterTest {
assertThat(responseContent, containsString("value=\"thePartOfId po123 null\""));
assertThat(responseContent, containsString("value=\"thePartOfName poname\""));
}
@Test
public void testSearchWithMultipleParamsOfTheSameName4() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Organization?partof.fooChain=po123&partof.name=poname");
@ -245,6 +202,38 @@ public class ReferenceParameterTest {
assertEquals(400, status.getStatusLine().getStatusCode());
}
@Test
public void testSearchWithValue() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + "=123");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2", p.getName().get(2).getFamilyFirstRep().getValue());
}
@Test
public void testReferenceParamViewToken() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?provider.name=" + URLEncoder.encode("foo|bar", "UTF-8"));
HttpResponse status = ourClient.execute(httpGet);
IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
assertEquals("foo|bar", ourLastRefParam.getValue());
assertEquals("foo", ourLastRefParam.toTokenParam().getSystem());
assertEquals("bar", ourLastRefParam.toTokenParam().getValue());
}
@Test
public void testSearchWithValueAndChain() throws Exception {
{
@ -264,25 +253,95 @@ public class ReferenceParameterTest {
}
@Test
public void testParamTypesInConformanceStatement() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/metadata?_pretty=true");
public void testSearchWithValueAndType() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + ":Organization=123");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
ourLog.info(responseContent);
assertEquals(200, status.getStatusLine().getStatusCode());
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1Organization", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2", p.getName().get(2).getFamilyFirstRep().getValue());
}
@Test
public void testSearchWithValueAndTypeAndChain() throws Exception {
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?" + Patient.SP_PROVIDER + ":Organization.name=123");
HttpResponse status = ourClient.execute(httpGet);
String responseContent = IOUtils.toString(status.getEntity().getContent());
IOUtils.closeQuietly(status.getEntity().getContent());
assertEquals(200, status.getStatusLine().getStatusCode());
Conformance conf = ourCtx.newXmlParser().parseResource(Conformance.class, responseContent);
List<BundleEntry> entries = ourCtx.newXmlParser().parseBundle(responseContent).getEntries();
assertEquals(1, entries.size());
Patient p = (Patient) entries.get(0).getResource();
assertEquals("0123", p.getName().get(0).getFamilyFirstRep().getValue());
assertEquals("1Organization", p.getName().get(1).getFamilyFirstRep().getValue());
assertEquals("2name", p.getName().get(2).getFamilyFirstRep().getValue());
RestResource res = conf.getRestFirstRep().getResource().get(2);
assertEquals("Patient", res.getType().getValue());
}
RestResourceSearchParam param = res.getSearchParamFirstRep();
assertEquals(Patient.SP_PROVIDER, param.getName().getValue());
@AfterClass
public static void afterClass() throws Exception {
ourServer.stop();
}
@BeforeClass
public static void beforeClass() throws Exception {
ourPort = PortUtil.findFreePort();
ourServer = new Server(ourPort);
DummyPatientResourceProvider patientProvider = new DummyPatientResourceProvider();
ServletHandler proxyHandler = new ServletHandler();
RestfulServer servlet = new RestfulServer();
ourCtx = servlet.getFhirContext();
servlet.setResourceProviders(patientProvider, new DummyOrganizationResourceProvider(), new DummyLocationResourceProvider());
ServletHolder servletHolder = new ServletHolder(servlet);
proxyHandler.addServletWithMapping(servletHolder, "/*");
ourServer.setHandler(proxyHandler);
ourServer.start();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(5000, TimeUnit.MILLISECONDS);
HttpClientBuilder builder = HttpClientBuilder.create();
builder.setConnectionManager(connectionManager);
ourClient = builder.build();
ourCtx = servlet.getFhirContext();
}
public static class DummyLocationResourceProvider implements IResourceProvider {
@Override
public Class<? extends IResource> getResourceType() {
return Location.class;
}
//@formatter:off
@Search
public List<Location> searchByNameWithDifferentChain(
@OptionalParam(name = "partof", chainWhitelist= {"bar"}) ReferenceParam theBarId) {
//@formatter:on
ArrayList<Location> retVal = new ArrayList<Location>();
if (theBarId != null) {
Location loc = new Location();
loc.setId("1");
loc.getName().setValue("theBarId " + theBarId.getValue() + " " + theBarId.getChain());
retVal.add(loc);
}
if (retVal.isEmpty()) {
ourLog.info("No values for bar - Going to fail");
throw new InternalErrorException("No Values for bar");
}
return retVal;
}
assertEquals(1, param.getTarget().size());
assertEquals(ResourceTypeEnum.ORGANIZATION, param.getTarget().get(0).getValueAsEnum());
}
public static class DummyOrganizationResourceProvider implements IResourceProvider {
@ -345,60 +404,12 @@ public class ReferenceParameterTest {
}
}
public static class DummyLocationResourceProvider implements IResourceProvider {
@Override
public Class<? extends IResource> getResourceType() {
return Location.class;
}
//@formatter:off
@Search
public List<Location> searchByNameWithDifferentChain(
@OptionalParam(name = "partof", chainWhitelist= {"bar"}) ReferenceParam theBarId) {
//@formatter:on
ArrayList<Location> retVal = new ArrayList<Location>();
if (theBarId != null) {
Location loc = new Location();
loc.setId("1");
loc.getName().setValue("theBarId " + theBarId.getValue() + " " + theBarId.getChain());
retVal.add(loc);
}
if (retVal.isEmpty()) {
ourLog.info("No values for bar - Going to fail");
throw new InternalErrorException("No Values for bar");
}
return retVal;
}
}
/**
* Created by dsotnikov on 2/25/2014.
*/
public static class DummyPatientResourceProvider implements IResourceProvider {
@Search(queryName="findPatientWithVersion")
public List<Patient> findPatientWithVersion() {
ArrayList<Patient> retVal = new ArrayList<Patient>();
Patient p = createPatient();
retVal.add(p);
return retVal;
}
@Read
public Patient read(@IdParam IdDt theId) {
return createPatient();
}
private Patient createPatient() {
Patient p = new Patient();
p.setId("Patient/22/_history/33");
@ -410,9 +421,10 @@ public class ReferenceParameterTest {
return p;
}
@Search
public List<Patient> findPatient(@OptionalParam(name = Patient.SP_PROVIDER, targetTypes = { Organization.class }) ReferenceParam theParam) {
ourLastRefParam = theParam;
ArrayList<Patient> retVal = new ArrayList<Patient>();
Patient p = new Patient();
@ -425,11 +437,27 @@ public class ReferenceParameterTest {
return retVal;
}
@Search(queryName = "findPatientWithVersion")
public List<Patient> findPatientWithVersion() {
ArrayList<Patient> retVal = new ArrayList<Patient>();
Patient p = createPatient();
retVal.add(p);
return retVal;
}
@Override
public Class<? extends IResource> getResourceType() {
return Patient.class;
}
@Read
public Patient read(@IdParam IdDt theId) {
return createPatient();
}
}
}

View File

@ -18,6 +18,7 @@ import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.tools.generic.EscapeTool;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.dstu.resource.Conformance;
@ -161,6 +162,7 @@ public class TinderClientMojo extends AbstractMojo {
ctx.put("packageBase", myPackageBase);
ctx.put("className", myClientClassSimpleName);
ctx.put("resources", myResources);
ctx.put("esc", new EscapeTool());
VelocityEngine v = new VelocityEngine();
v.setProperty("resource.loader", "cp");

View File

@ -24,6 +24,7 @@ import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.tools.generic.EscapeTool;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.tinder.parser.ResourceGeneratorUsingSpreadsheet;
@ -124,7 +125,8 @@ public class TinderJpaRestServerMojo extends AbstractMojo {
ctx.put("resources", gen.getResources());
ctx.put("packageBase", packageBase);
ctx.put("version", version);
ctx.put("esc", new EscapeTool());
String capitalize = WordUtils.capitalize(version);
if ("Dstu".equals(capitalize)) {
capitalize="Dstu1";

View File

@ -20,6 +20,7 @@ import org.apache.commons.lang3.text.WordUtils;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.tools.generic.EscapeTool;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.Bundle;
@ -253,6 +254,7 @@ public class ValueSetGenerator {
VelocityContext ctx = new VelocityContext();
ctx.put("valueSet", theValueSetTm);
ctx.put("packageBase", thePackageBase);
ctx.put("esc", new EscapeTool());
VelocityEngine v = new VelocityEngine();
v.setProperty("resource.loader", "cp");

View File

@ -24,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.tools.generic.EscapeTool;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@ -429,6 +430,7 @@ public abstract class BaseStructureParser {
ctx.put("searchParamsReference", (theResource.getSearchParametersResource()));
ctx.put("searchParamsWithoutComposite", (theResource.getSearchParametersWithoutComposite()));
ctx.put("includes", (theResource.getIncludes()));
ctx.put("esc", new EscapeTool());
VelocityEngine v = new VelocityEngine();
v.setProperty("resource.loader", "cp");
@ -506,6 +508,7 @@ public abstract class BaseStructureParser {
ctx.put("nameToDatatypeClass", myNameToDatatypeClass);
ctx.put("version", myVersion);
ctx.put("versionEnumName", determineVersionEnum().name());
ctx.put("esc", new EscapeTool());
VelocityEngine v = new VelocityEngine();
v.setProperty("resource.loader", "cp");

View File

@ -45,22 +45,22 @@ public class ${className}
#foreach ( $param in $searchParams )
/**
* Search parameter constant for <b>${param.name}</b>
* Search parameter constant for <b>$esc.html(${param.name})</b>
* <p>
* Description: <b>${param.description}</b><br/>
* Type: <b>${param.type}</b><br/>
* Path: <b>${param.path}</b><br/>
* Description: <b>$esc.html(${param.description})</b><br>
* Type: <b>$esc.html(${param.type})</b><br>
* Path: <b>$esc.html(${param.path})</b><br>
* </p>
*/
@SearchParamDefinition(name="${param.name}", path="${param.path}", description="${param.description}", type="${param.type}" #{if}($param.compositeOf.empty == false) , compositeOf={ #{foreach}($compositeOf in $param.compositeOf) "${compositeOf}"#{if}($foreach.hasNext), #{end}#{end} } #{end} )
public static final String $param.constantName = "${param.name}";
/**
* <b>Fluent Client</b> search parameter constant for <b>${param.name}</b>
* <b>Fluent Client</b> search parameter constant for <b>$esc.html(${param.name})</b>
* <p>
* Description: <b>${param.description}</b><br/>
* Type: <b>${param.type}</b><br/>
* Path: <b>${param.path}</b><br/>
* Description: <b>$esc.html(${param.description})</b><br>
* Type: <b>$esc.html(${param.type})</b><br>
* Path: <b>$esc.html(${param.path})</b><br>
* </p>
*/
#if( ${param.typeCapitalized} == 'Composite' )

View File

@ -44,22 +44,22 @@ public class ${className}
#foreach ( $param in $searchParams )
/**
* Search parameter constant for <b>${param.name}</b>
* Search parameter constant for <b>$esc.html(${param.name})</b>
* <p>
* Description: <b>${param.description}</b><br/>
* Type: <b>${param.type}</b><br/>
* Path: <b>${param.path}</b><br/>
* Description: <b>$esc.html(${param.description})</b><br>
* Type: <b>$esc.html(${param.type})</b><br>
* Path: <b>$esc.html(${param.path})</b><br>
* </p>
*/
@SearchParamDefinition(name="${param.name}", path="${param.path}", description="${param.description}", type="${param.type}" #{if}($param.compositeOf.empty == false) , compositeOf={ #{foreach}($compositeOf in $param.compositeOf) "${compositeOf}"#{if}($foreach.hasNext), #{end}#{end} } #{end} )
public static final String $param.constantName = "${param.name}";
/**
* <b>Fluent Client</b> search parameter constant for <b>${param.name}</b>
* <b>Fluent Client</b> search parameter constant for <b>$esc.html(${param.name})</b>
* <p>
* Description: <b>${param.description}</b><br/>
* Type: <b>${param.type}</b><br/>
* Path: <b>${param.path}</b><br/>
* Description: <b>$esc.html(${param.description})</b><br>
* Type: <b>$esc.html(${param.type})</b><br>
* Path: <b>$esc.html(${param.path})</b><br>
* </p>
*/
#if( ${param.typeCapitalized} == 'Composite' )

View File

@ -53,13 +53,13 @@
#foreach ( $child in $childElements )
#if ( $child.primitive && $child.repeatable == false )
/**
* Gets the value(s) for <b>${child.elementName}</b> (${child.shortName}).
* Gets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName})).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.referenceType} get${child.methodName}Element() {
@ -77,13 +77,13 @@
/**
* Gets the value(s) for <b>${child.elementName}</b> (${child.shortName}).
* Gets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName})).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.primitiveType} get${child.methodName}() {
@ -91,13 +91,13 @@
}
#else
/**
* Gets the value(s) for <b>${child.elementName}</b> (${child.shortName}).
* Gets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName})).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.referenceType} get${child.methodName}() {
@ -115,11 +115,11 @@
#end
/**
* Sets the value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.referenceType} theValue) {
@ -131,11 +131,11 @@
#if( ${child.repeatable} && ${child.singleChildInstantiable} && ${child.resourceRef} == false && ${child.boundCode} == false )
/**
* Adds and returns a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds and returns a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.singleType} add${child.methodName}() {
@ -145,12 +145,12 @@
}
/**
* Gets the first repetition for <b>${child.elementName}</b> (${child.shortName}),
* Gets the first repetition for <b>${child.elementName}</b> ($esc.html(${child.shortName})),
* creating it if it does not already exist.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.singleType} get${child.methodName}FirstRep() {
@ -162,11 +162,11 @@
#end
#if( ${child.repeatable} && ${child.singleChildInstantiable} && ${child.resourceRef} )
/**
* Adds and returns a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds and returns a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ResourceReferenceDt add${child.methodName}() {
@ -177,14 +177,14 @@
#end
#if ( ${child.boundCode} && ${child.repeatable} )
/**
* Add a value for <b>${child.elementName}</b> (${child.shortName}) using an enumerated type. This
* Add a value for <b>${child.elementName}</b> ($esc.html(${child.shortName})) using an enumerated type. This
* is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory
* or contain the desirable codes. If you wish to use codes other than those which are built-in,
* you may also use the {@link ${hash}addType()} method.
* you may also use the {@link ${hash}add${child.methodName}()} method.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> add${child.methodName}(${child.bindingClass} theValue) {
@ -194,12 +194,12 @@
}
/**
* Gets the first repetition for <b>${child.elementName}</b> (${child.shortName}),
* Gets the first repetition for <b>${child.elementName}</b> ($esc.html(${child.shortName})),
* creating it if it does not already exist.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> get${child.methodName}FirstRep() {
@ -210,11 +210,11 @@
}
/**
* Add a value for <b>${child.elementName}</b> (${child.shortName})
* Add a value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> add${child.methodName}() {
@ -224,11 +224,11 @@
}
/**
* Sets the value(s), and clears any existing value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s), and clears any existing value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.bindingClass} theValue) {
@ -239,11 +239,11 @@
#elseif ( ${child.boundCode} )
/**
* Sets the value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.bindingClass} theValue) {
@ -259,11 +259,11 @@
#foreach ( $ss in $child.simpleSetters )
#if(${child.repeatable})
/**
* Adds a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*
* @return Returns a reference to this object, to allow for simple chaining.
@ -277,11 +277,11 @@
}
#else
/**
* Sets the value for <b>${child.elementName}</b> (${child.shortName})
* Sets the value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}${ss.suffix}(#{foreach}($param in $ss.parameters) ${param.datatype} ${param.parameter}#{if}( $foreach.hasNext ), #{end}#{end}) {

View File

@ -52,13 +52,13 @@
#foreach ( $child in $childElements )
/**
* Gets the value(s) for <b>${child.elementName}</b> (${child.shortName}).
* Gets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName})).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.referenceType} get${child.methodName}() {
@ -76,13 +76,13 @@
/**
* Gets the value(s) for <b>${child.elementName}</b> (${child.shortName}).
* Gets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName})).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.referenceType} get${child.methodName}Element() {
@ -100,11 +100,11 @@
/**
* Sets the value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.referenceType} theValue) {
@ -114,11 +114,11 @@
#if( ${child.repeatable} && ${child.singleChildInstantiable} && ${child.resourceRef} == false && ${child.boundCode} == false )
/**
* Adds and returns a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds and returns a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.singleType} add${child.methodName}() {
@ -128,12 +128,12 @@
}
/**
* Gets the first repetition for <b>${child.elementName}</b> (${child.shortName}),
* Gets the first repetition for <b>${child.elementName}</b> ($esc.html(${child.shortName})),
* creating it if it does not already exist.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.singleType} get${child.methodName}FirstRep() {
@ -145,11 +145,11 @@
#end
#if( ${child.repeatable} && ${child.singleChildInstantiable} && ${child.resourceRef} )
/**
* Adds and returns a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds and returns a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ResourceReferenceDt add${child.methodName}() {
@ -160,14 +160,14 @@
#end
#if ( ${child.boundCode} && ${child.repeatable} )
/**
* Add a value for <b>${child.elementName}</b> (${child.shortName}) using an enumerated type. This
* Add a value for <b>${child.elementName}</b> ($esc.html(${child.shortName})) using an enumerated type. This
* is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory
* or contain the desirable codes. If you wish to use codes other than those which are built-in,
* you may also use the {@link ${hash}addType()} method.
* you may also use the {@link ${hash}add${child.methodName}()} method.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> add${child.methodName}(${child.bindingClass} theValue) {
@ -177,12 +177,12 @@
}
/**
* Gets the first repetition for <b>${child.elementName}</b> (${child.shortName}),
* Gets the first repetition for <b>${child.elementName}</b> ($esc.html(${child.shortName})),
* creating it if it does not already exist.
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> get${child.methodName}FirstRep() {
@ -193,11 +193,11 @@
}
/**
* Add a value for <b>${child.elementName}</b> (${child.shortName})
* Add a value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.boundDatatype}<${child.bindingClass}> add${child.methodName}() {
@ -207,11 +207,11 @@
}
/**
* Sets the value(s), and clears any existing value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s), and clears any existing value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.bindingClass} theValue) {
@ -222,11 +222,11 @@
#elseif ( ${child.boundCode} )
/**
* Sets the value(s) for <b>${child.elementName}</b> (${child.shortName})
* Sets the value(s) for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}(${child.bindingClass} theValue) {
@ -238,11 +238,11 @@
#foreach ( $ss in $child.simpleSetters )
#if(${child.repeatable})
/**
* Adds a new value for <b>${child.elementName}</b> (${child.shortName})
* Adds a new value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*
* @return Returns a reference to this object, to allow for simple chaining.
@ -256,11 +256,11 @@
}
#else
/**
* Sets the value for <b>${child.elementName}</b> (${child.shortName})
* Sets the value for <b>${child.elementName}</b> ($esc.html(${child.shortName}))
*
* <p>
* <b>Definition:</b>
* ${child.definition}
* $esc.html(${child.definition})
* </p>
*/
public ${child.declaringClassNameComplete} set${child.methodName}${ss.suffix}(#{foreach}($param in $ss.parameters) ${param.datatype} ${param.parameter}#{if}( $foreach.hasNext ), #{end}#{end}) {

View File

@ -10,9 +10,9 @@ public enum ${valueSet.className} {
#foreach ($code in $valueSet.codes)
/**
#if ( ${code.hasDisplay} )
* Display: <b>${code.display}</b><br/>
* Display: <b>$esc.html(${code.display})</b><br>
#end
* Code Value: <b>${code.code}</b>
* Code Value: <b>$esc.html(${code.code})</b>
#if ( ${code.hasDefinition} )
*
* ${code.definition}

View File

@ -153,7 +153,7 @@
<maven_assembly_plugin_version>2.4.1</maven_assembly_plugin_version>
<maven_javadoc_plugin_version>2.10.1</maven_javadoc_plugin_version>
<maven_license_plugin_version>1.7</maven_license_plugin_version>
<maven_surefire_plugin_version>2.17</maven_surefire_plugin_version>
<maven_surefire_plugin_version>2.18.1</maven_surefire_plugin_version>
<maven_site_plugin_version>3.4</maven_site_plugin_version>
<maven_source_plugin_version>2.3</maven_source_plugin_version>
<mitreid-connect-version>1.1.8</mitreid-connect-version>
@ -189,7 +189,7 @@
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<runOrder>random</runOrder>
<!--<argLine>-Dfile.encoding=ISO-8859-1</argLine> -->
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
<plugin>

View File

@ -701,8 +701,21 @@
resources by subject, but use the subject's last name instead of their resource ID.
In this example, you are chaining "family" (the last name) to "subject" (the patient).
The net result in the query string would look like:<br/>
<code>http://fhir.example.com/DiagnosticReport?subject.family=SMITH</code>
<code>http://fhir.example.com/DiagnosticReport?subject.family=SMITH</code><br/>
What this query says is "<i>fetch me all of the DiagnosticReport resources
where the <b>subject</b> (Patient) of the report has the <b>family</b> (name) of
'SMITH'</i>".
</p>
<p>
There are two ways of dealing with chained parameters in your methods: static chains and
dynamic chains. Both are equally valid, although dyamic chains might lead to somewhat
more compact and readable code.
</p>
<a name="dynamic_chains"/>
<h4>Dynamic Chains</h4>
<p>
Chained values must be explicitly declared through the use
of a whitelist (or blacklist). The following example shows how to declare a
@ -725,13 +738,16 @@
</macro>
<p>
Example URLs to invoke this method:
<br />
Resource by ID: <code>http://fhir.example.com/DiagnosticReport?subject=1234</code>
<br />
Resource by chained parameter value: <code>http://fhir.example.com/DiagnosticReport?subject.family=SMITH</code>
If you are handling multiple types of chained parameters in a single method,
you may want to convert the reference parameter type into something more
convenient before using its value. The following example shows how to do that.
</p>
<macro name="snippet">
<param name="id" value="referenceWithDynamicChain" />
<param name="file" value="examples/src/main/java/example/RestfulPatientResourceProviderMore.java" />
</macro>
<h4>Static Chains</h4>
<p>