Merge branch 'hl7org_structs' of github.com:jamesagnew/hapi-fhir into hl7org_structs
This commit is contained in:
commit
4cf0f7f233
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -17,12 +17,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.servlet</groupId>
|
<groupId>javax.servlet</groupId>
|
||||||
|
|
|
@ -9,13 +9,11 @@ import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
|
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
|
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
|
import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
|
|
||||||
import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
|
import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
|
||||||
import ca.uhn.fhir.model.primitive.DateTimeDt;
|
|
||||||
import ca.uhn.fhir.model.primitive.InstantDt;
|
import ca.uhn.fhir.model.primitive.InstantDt;
|
||||||
import ca.uhn.fhir.model.primitive.StringDt;
|
import ca.uhn.fhir.model.primitive.StringDt;
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.model.api.Bundle;
|
import ca.uhn.fhir.model.api.Bundle;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
import ca.uhn.fhir.model.api.IResource;
|
||||||
import ca.uhn.fhir.model.base.resource.BaseConformance;
|
|
||||||
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
||||||
|
import ca.uhn.fhir.model.dstu2.resource.Conformance;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
|
import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
||||||
|
@ -172,7 +172,7 @@ public class GenericClientExample {
|
||||||
// START SNIPPET: conformance
|
// START SNIPPET: conformance
|
||||||
// Retrieve the server's conformance statement and print its
|
// Retrieve the server's conformance statement and print its
|
||||||
// description
|
// description
|
||||||
BaseConformance conf = client.conformance();
|
Conformance conf = client.fetchConformance().ofType(Conformance.class).execute();
|
||||||
System.out.println(conf.getDescriptionElement().getValue());
|
System.out.println(conf.getDescriptionElement().getValue());
|
||||||
// END SNIPPET: conformance
|
// END SNIPPET: conformance
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import java.util.List;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
||||||
import ca.uhn.fhir.model.valueset.BundleTypeEnum;
|
import ca.uhn.fhir.model.valueset.BundleTypeEnum;
|
||||||
|
@ -20,7 +19,7 @@ public class IncludesExamples {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void testSearchForPatients() {
|
private static void testSearchForPatients() {
|
||||||
List<IResource> resources = new IncludesExamples().searchForPatients();
|
List<IBaseResource> resources = new IncludesExamples().searchForPatients();
|
||||||
|
|
||||||
// Create a bundle with both
|
// Create a bundle with both
|
||||||
FhirContext ctx = FhirContext.forDstu2();
|
FhirContext ctx = FhirContext.forDstu2();
|
||||||
|
@ -36,7 +35,7 @@ public class IncludesExamples {
|
||||||
|
|
||||||
// START SNIPPET: addIncludes
|
// START SNIPPET: addIncludes
|
||||||
@Search
|
@Search
|
||||||
private List<IResource> searchForPatients() {
|
private List<IBaseResource> searchForPatients() {
|
||||||
// Create an organization
|
// Create an organization
|
||||||
Organization org = new Organization();
|
Organization org = new Organization();
|
||||||
org.setId("Organization/65546");
|
org.setId("Organization/65546");
|
||||||
|
@ -49,7 +48,7 @@ public class IncludesExamples {
|
||||||
patient.getManagingOrganization().setResource(org);
|
patient.getManagingOrganization().setResource(org);
|
||||||
|
|
||||||
// Here we return only the patient object, which has links to other resources
|
// Here we return only the patient object, which has links to other resources
|
||||||
List<IResource> retVal = new ArrayList<IResource>();
|
List<IBaseResource> retVal = new ArrayList<IBaseResource>();
|
||||||
retVal.add(patient);
|
retVal.add(patient);
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import org.apache.commons.io.filefilter.WildcardFileFilter;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.ContactPointSystemEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.ContactPointSystemEnum;
|
||||||
import ca.uhn.fhir.validation.FhirValidator;
|
import ca.uhn.fhir.validation.FhirValidator;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>org.apache.httpcomponents</groupId>
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
|
@ -37,12 +37,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.phloc</groupId>
|
<groupId>com.phloc</groupId>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-deployable-pom</artifactId>
|
<artifactId>hapi-deployable-pom</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|
|
@ -148,7 +148,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
@Override
|
@Override
|
||||||
public BaseConformance conformance() {
|
public BaseConformance conformance() {
|
||||||
if (myContext.getVersion().getVersion().equals(FhirVersionEnum.DSTU2_HL7ORG)) {
|
if (myContext.getVersion().getVersion().equals(FhirVersionEnum.DSTU2_HL7ORG)) {
|
||||||
throw new IllegalArgumentException("Must call conformance(" + IBaseConformance.class.getSimpleName() + ") for HL7.org structures");
|
throw new IllegalArgumentException("Must call conformance(" + IBaseConformance.class.getSimpleName() + ") instead of conformance() for HL7.org structures");
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpGetClientInvocation invocation = MethodUtil.createConformanceInvocation();
|
HttpGetClientInvocation invocation = MethodUtil.createConformanceInvocation();
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.rest.gclient;
|
package ca.uhn.fhir.rest.gclient;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR - Core Library
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2015 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.rest.server.Constants;
|
import ca.uhn.fhir.rest.server.Constants;
|
||||||
|
|
||||||
abstract class BaseClientParam implements IParam {
|
abstract class BaseClientParam implements IParam {
|
||||||
|
|
|
@ -20,9 +20,8 @@ package ca.uhn.fhir.rest.method;
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
import static org.apache.commons.lang3.StringUtils.*;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
|
|
|
@ -162,7 +162,7 @@ public class FhirValidator {
|
||||||
* The resource to validate
|
* The resource to validate
|
||||||
* @throws ValidationFailureException
|
* @throws ValidationFailureException
|
||||||
* If the validation fails
|
* If the validation fails
|
||||||
* @deprecated use {@link #validateWithResult(ca.uhn.fhir.model.api.IResource)} instead
|
* @deprecated use {@link #validateWithResult(IBaseResource)} instead
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void validate(IResource theResource) throws ValidationFailureException {
|
public void validate(IResource theResource) throws ValidationFailureException {
|
||||||
|
@ -203,7 +203,7 @@ public class FhirValidator {
|
||||||
public ValidationResult validateWithResult(IBaseResource theResource) {
|
public ValidationResult validateWithResult(IBaseResource theResource) {
|
||||||
Validate.notNull(theResource, "theResource must not be null");
|
Validate.notNull(theResource, "theResource must not be null");
|
||||||
|
|
||||||
ValidationContext<IResource> ctx = ValidationContext.forResource(myContext, (IResource) theResource);
|
ValidationContext<IBaseResource> ctx = ValidationContext.forResource(myContext, theResource);
|
||||||
|
|
||||||
for (IValidator next : myValidators) {
|
for (IValidator next : myValidators) {
|
||||||
next.validateResource(ctx);
|
next.validateResource(ctx);
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ca.uhn.fhir.validation;
|
package ca.uhn.fhir.validation;
|
||||||
|
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.Bundle;
|
import ca.uhn.fhir.model.api.Bundle;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
|
@ -26,7 +27,7 @@ import ca.uhn.fhir.model.api.IResource;
|
||||||
|
|
||||||
interface IValidator {
|
interface IValidator {
|
||||||
|
|
||||||
void validateResource(ValidationContext<IResource> theCtx);
|
void validateResource(ValidationContext<IBaseResource> theCtx);
|
||||||
|
|
||||||
void validateBundle(ValidationContext<Bundle> theContext);
|
void validateBundle(ValidationContext<Bundle> theContext);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ import javax.xml.validation.SchemaFactory;
|
||||||
import javax.xml.validation.Validator;
|
import javax.xml.validation.Validator;
|
||||||
|
|
||||||
import org.apache.commons.io.input.BOMInputStream;
|
import org.apache.commons.io.input.BOMInputStream;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.w3c.dom.ls.LSInput;
|
import org.w3c.dom.ls.LSInput;
|
||||||
import org.w3c.dom.ls.LSResourceResolver;
|
import org.w3c.dom.ls.LSResourceResolver;
|
||||||
import org.xml.sax.SAXException;
|
import org.xml.sax.SAXException;
|
||||||
|
@ -48,7 +49,6 @@ import ca.uhn.fhir.context.ConfigurationException;
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||||
import ca.uhn.fhir.model.api.Bundle;
|
import ca.uhn.fhir.model.api.Bundle;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome.BaseIssue;
|
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome.BaseIssue;
|
||||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ class SchemaBaseValidator implements IValidator {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validateResource(ValidationContext<IResource> theContext) {
|
public void validateResource(ValidationContext<IBaseResource> theContext) {
|
||||||
doValidate(theContext, "fhir-single.xsd");
|
doValidate(theContext, "fhir-single.xsd");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ import org.oclc.purl.dsdl.svrl.SchematronOutputType;
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.model.api.Bundle;
|
import ca.uhn.fhir.model.api.Bundle;
|
||||||
import ca.uhn.fhir.model.api.BundleEntry;
|
import ca.uhn.fhir.model.api.BundleEntry;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome.BaseIssue;
|
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome.BaseIssue;
|
||||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||||
|
|
||||||
|
@ -54,7 +53,7 @@ public class SchematronBaseValidator implements IValidator {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validateResource(ValidationContext<IResource> theCtx) {
|
public void validateResource(ValidationContext<IBaseResource> theCtx) {
|
||||||
|
|
||||||
ISchematronResource sch = getSchematron(theCtx);
|
ISchematronResource sch = getSchematron(theCtx);
|
||||||
StreamSource source = new StreamSource(new StringReader(theCtx.getXmlEncodedResource()));
|
StreamSource source = new StreamSource(new StringReader(theCtx.getXmlEncodedResource()));
|
||||||
|
@ -92,14 +91,14 @@ public class SchematronBaseValidator implements IValidator {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ISchematronResource getSchematron(ValidationContext<IResource> theCtx) {
|
private ISchematronResource getSchematron(ValidationContext<IBaseResource> theCtx) {
|
||||||
Class<? extends IResource> resource = theCtx.getResource().getClass();
|
Class<? extends IBaseResource> resource = theCtx.getResource().getClass();
|
||||||
Class<? extends IBaseResource> baseResourceClass = theCtx.getFhirContext().getResourceDefinition(resource).getBaseDefinition().getImplementingClass();
|
Class<? extends IBaseResource> baseResourceClass = theCtx.getFhirContext().getResourceDefinition(resource).getBaseDefinition().getImplementingClass();
|
||||||
|
|
||||||
return getSchematronAndCache(theCtx, "dstu", baseResourceClass);
|
return getSchematronAndCache(theCtx, "dstu", baseResourceClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ISchematronResource getSchematronAndCache(ValidationContext<IResource> theCtx, String theVersion, Class<? extends IBaseResource> theClass) {
|
private ISchematronResource getSchematronAndCache(ValidationContext<IBaseResource> theCtx, String theVersion, Class<? extends IBaseResource> theClass) {
|
||||||
synchronized (myClassToSchematron) {
|
synchronized (myClassToSchematron) {
|
||||||
ISchematronResource retVal = myClassToSchematron.get(theClass);
|
ISchematronResource retVal = myClassToSchematron.get(theClass);
|
||||||
if (retVal != null) {
|
if (retVal != null) {
|
||||||
|
@ -124,7 +123,7 @@ public class SchematronBaseValidator implements IValidator {
|
||||||
public void validateBundle(ValidationContext<Bundle> theContext) {
|
public void validateBundle(ValidationContext<Bundle> theContext) {
|
||||||
for (BundleEntry next : theContext.getResource().getEntries()) {
|
for (BundleEntry next : theContext.getResource().getEntries()) {
|
||||||
if (next.getResource() != null) {
|
if (next.getResource() != null) {
|
||||||
ValidationContext<IResource> ctx = ValidationContext.newChild(theContext, next.getResource());
|
ValidationContext<IBaseResource> ctx = ValidationContext.newChild(theContext, next.getResource());
|
||||||
validateResource(ctx);
|
validateResource(ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,10 @@ package ca.uhn.fhir.validation;
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.model.api.Bundle;
|
import ca.uhn.fhir.model.api.Bundle;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
|
||||||
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
||||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||||
|
|
||||||
|
@ -76,8 +77,8 @@ private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ValidationContext<IResource> forResource(final FhirContext theContext, final IResource theResource) {
|
public static <T extends IBaseResource> ValidationContext<T> forResource(final FhirContext theContext, final T theResource) {
|
||||||
return new ValidationContext<IResource>(theContext, theResource, new IEncoder() {
|
return new ValidationContext<T>(theContext, theResource, new IEncoder() {
|
||||||
@Override
|
@Override
|
||||||
public String encode() {
|
public String encode() {
|
||||||
return theContext.newXmlParser().encodeResourceToString(theResource);
|
return theContext.newXmlParser().encodeResourceToString(theResource);
|
||||||
|
@ -85,8 +86,8 @@ private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ValidationContext<IResource> newChild(ValidationContext<Bundle> theContext, IResource theResource) {
|
public static ValidationContext<IBaseResource> newChild(ValidationContext<Bundle> theContext, IBaseResource theResource) {
|
||||||
ValidationContext<IResource> retVal = forResource(theContext.getFhirContext(), theResource);
|
ValidationContext<IBaseResource> retVal = forResource(theContext.getFhirContext(), theResource);
|
||||||
retVal.myOperationOutcome = theContext.getOperationOutcome();
|
retVal.myOperationOutcome = theContext.getOperationOutcome();
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<artifactId>woodstox-core-asl</artifactId>
|
<artifactId>woodstox-core-asl</artifactId>
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<artifactId>woodstox-core-asl</artifactId>
|
<artifactId>woodstox-core-asl</artifactId>
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<artifactId>woodstox-core-asl</artifactId>
|
<artifactId>woodstox-core-asl</artifactId>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -18,17 +18,17 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ch.qos.logback</groupId>
|
<groupId>ch.qos.logback</groupId>
|
||||||
|
|
|
@ -127,3 +127,4 @@ local.properties
|
||||||
# TeXlipse plugin
|
# TeXlipse plugin
|
||||||
.texlipse
|
.texlipse
|
||||||
|
|
||||||
|
/target/
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-deployable-pom</artifactId>
|
<artifactId>hapi-deployable-pom</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<artifactId>commons-logging</artifactId>
|
<artifactId>commons-logging</artifactId>
|
||||||
|
@ -42,13 +42,13 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -373,7 +373,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-tinder-plugin</artifactId>
|
<artifactId>hapi-tinder-plugin</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>build_dstu1</id>
|
<id>build_dstu1</id>
|
||||||
|
@ -404,12 +404,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -640,7 +640,12 @@ public abstract class BaseFhirDao implements IDao {
|
||||||
SearchParameterMap paramMap = new SearchParameterMap();
|
SearchParameterMap paramMap = new SearchParameterMap();
|
||||||
List<NameValuePair> parameters;
|
List<NameValuePair> parameters;
|
||||||
try {
|
try {
|
||||||
parameters = URLEncodedUtils.parse(new URI(theMatchUrl), "UTF-8");
|
String matchUrl = theMatchUrl;
|
||||||
|
if (matchUrl.indexOf('?') == -1) {
|
||||||
|
throw new InvalidRequestException("Failed to parse match URL[" + theMatchUrl + "] - Error was: URL does not contain any parameters ('?' not detected)");
|
||||||
|
}
|
||||||
|
matchUrl = matchUrl.replace("|", "%7C");
|
||||||
|
parameters = URLEncodedUtils.parse(new URI(matchUrl), "UTF-8");
|
||||||
} catch (URISyntaxException e) {
|
} catch (URISyntaxException e) {
|
||||||
throw new InvalidRequestException("Failed to parse match URL[" + theMatchUrl + "] - Error was: " + e.toString());
|
throw new InvalidRequestException("Failed to parse match URL[" + theMatchUrl + "] - Error was: " + e.toString());
|
||||||
}
|
}
|
||||||
|
|
|
@ -372,14 +372,12 @@ public abstract class BaseFhirResourceDao<T extends IResource> extends BaseFhirD
|
||||||
CriteriaBuilder builder = myEntityManager.getCriteriaBuilder();
|
CriteriaBuilder builder = myEntityManager.getCriteriaBuilder();
|
||||||
CriteriaQuery<Object> cq = builder.createQuery();
|
CriteriaQuery<Object> cq = builder.createQuery();
|
||||||
Root<? extends BaseResourceIndexedSearchParam> subQfrom = cq.from(theParamTable);
|
Root<? extends BaseResourceIndexedSearchParam> subQfrom = cq.from(theParamTable);
|
||||||
cq.select(subQfrom.get("myResourcePid"));
|
cq.select(subQfrom);
|
||||||
Predicate subQname = builder.equal(subQfrom.get("myParamName"), theParamName);
|
Predicate subQname = builder.equal(subQfrom.get("myParamName"), theParamName);
|
||||||
Predicate subQtype = builder.equal(subQfrom.get("myResourceType"), resourceType);
|
Predicate subQtype = builder.equal(subQfrom.get("myResourceType"), resourceType);
|
||||||
cq.where(builder.and(subQtype, subQname));
|
cq.where(builder.and(subQtype, subQname));
|
||||||
List<Object> results = myEntityManager.createQuery(cq).getResultList();
|
List<Object> results = myEntityManager.createQuery(cq).getResultList();
|
||||||
for (Object object : results) {
|
ourLog.info("All results: {}", results);
|
||||||
ourLog.info("Next result: {}", object);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CriteriaBuilder builder = myEntityManager.getCriteriaBuilder();
|
CriteriaBuilder builder = myEntityManager.getCriteriaBuilder();
|
||||||
|
@ -2020,7 +2018,7 @@ public abstract class BaseFhirResourceDao<T extends IResource> extends BaseFhirD
|
||||||
entity = myEntityManager.find(ResourceTable.class, pid);
|
entity = myEntityManager.find(ResourceTable.class, pid);
|
||||||
resourceId = entity.getIdDt();
|
resourceId = entity.getIdDt();
|
||||||
} else {
|
} else {
|
||||||
return create(theResource);
|
return create(theResource, null, thePerformIndexing);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
resourceId = theResource.getId();
|
resourceId = theResource.getId();
|
||||||
|
|
|
@ -201,7 +201,10 @@ public class FhirSystemDaoDstu2 extends BaseFhirSystemDao<Bundle> {
|
||||||
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
|
String url = extractTransactionUrlOrThrowException(nextEntry, verb);
|
||||||
|
|
||||||
UrlParts parts = parseUrl(verb.getCode(), url);
|
UrlParts parts = parseUrl(verb.getCode(), url);
|
||||||
if (parts.getResourceId() != null) {
|
// if (res.getId().hasIdPart() && isBlank(parts.getResourceId())) {
|
||||||
|
// parts.setResourceId(res.getId().getIdPart());
|
||||||
|
// }
|
||||||
|
if (isNotBlank(parts.getResourceId())) {
|
||||||
res.setId(new IdDt(parts.getResourceType(), parts.getResourceId()));
|
res.setId(new IdDt(parts.getResourceType(), parts.getResourceId()));
|
||||||
outcome = resourceDao.update(res, null, false);
|
outcome = resourceDao.update(res, null, false);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -446,6 +446,22 @@ class SearchParamExtractorDstu2 extends BaseSearchParamExtractor implements ISea
|
||||||
}
|
}
|
||||||
systems.add(null);
|
systems.add(null);
|
||||||
codes.add(nextValue.getValueAsString());
|
codes.add(nextValue.getValueAsString());
|
||||||
|
} else if (nextObject instanceof CodingDt) {
|
||||||
|
CodingDt nextValue = (CodingDt) nextObject;
|
||||||
|
if (nextValue.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String nextSystem = nextValue.getSystemElement().getValueAsString();
|
||||||
|
String nextCode = nextValue.getCodeElement().getValue();
|
||||||
|
if (isNotBlank(nextSystem) || isNotBlank(nextCode)) {
|
||||||
|
systems.add(nextSystem);
|
||||||
|
codes.add(nextCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!nextValue.getDisplayElement().isEmpty()) {
|
||||||
|
systems.add(null);
|
||||||
|
codes.add(nextValue.getDisplayElement().getValue());
|
||||||
|
}
|
||||||
} else if (nextObject instanceof CodeableConceptDt) {
|
} else if (nextObject instanceof CodeableConceptDt) {
|
||||||
CodeableConceptDt nextCC = (CodeableConceptDt) nextObject;
|
CodeableConceptDt nextCC = (CodeableConceptDt) nextObject;
|
||||||
if (!nextCC.getTextElement().isEmpty()) {
|
if (!nextCC.getTextElement().isEmpty()) {
|
||||||
|
|
|
@ -25,6 +25,8 @@ import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_SPIDX_STRING"/*, indexes= {@Index(name="IDX_SP_STRING", columnList="SP_VALUE_NORMALIZED")}*/)
|
@Table(name = "HFJ_SPIDX_STRING"/*, indexes= {@Index(name="IDX_SP_STRING", columnList="SP_VALUE_NORMALIZED")}*/)
|
||||||
|
@ -73,6 +75,13 @@ public class ResourceIndexedSearchParamString extends BaseResourceIndexedSearchP
|
||||||
myValueExact = theValueExact;
|
myValueExact = theValueExact;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
ToStringBuilder b = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE);
|
||||||
|
b.append("paramName", getParamName());
|
||||||
|
b.append("resourceId", getResource().getId()); // TODO: add a field so we don't need to resolve this
|
||||||
|
b.append("value", getValueNormalized());
|
||||||
|
return b.build();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -219,8 +219,8 @@ public class FhirResourceDaoDstu2Test {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateWithIfNoneExist() {
|
public void testCreateWithIfNoneExistBasic() {
|
||||||
String methodName = "testCreateWithIfNoneExist";
|
String methodName = "testCreateWithIfNoneExistBasic";
|
||||||
MethodOutcome results;
|
MethodOutcome results;
|
||||||
|
|
||||||
Patient p = new Patient();
|
Patient p = new Patient();
|
||||||
|
|
|
@ -518,12 +518,12 @@ public class FhirSystemDaoDstu2Test {
|
||||||
p = new Patient();
|
p = new Patient();
|
||||||
p.addIdentifier().setSystem("urn:system").setValue(methodName);
|
p.addIdentifier().setSystem("urn:system").setValue(methodName);
|
||||||
p.addName().addFamily("Hello");
|
p.addName().addFamily("Hello");
|
||||||
p.setId("urn:"+methodName);
|
p.setId(methodName);
|
||||||
request.addEntry().setResource(p).getTransaction().setMethod(HTTPVerbEnum.PUT).setUrl("Patient?identifier=urn%3Asystem%7C" + methodName);
|
request.addEntry().setResource(p).getTransaction().setMethod(HTTPVerbEnum.PUT).setUrl("Patient?identifier=urn%3Asystem%7C" + methodName);
|
||||||
|
|
||||||
Observation o = new Observation();
|
Observation o = new Observation();
|
||||||
o.getCode().setText("Some Observation");
|
o.getCode().setText("Some Observation");
|
||||||
o.getSubject().setReference("Patient/urn:"+methodName);
|
o.getSubject().setReference("Patient/"+methodName);
|
||||||
request.addEntry().setResource(o).getTransaction().setMethod(HTTPVerbEnum.POST);
|
request.addEntry().setResource(o).getTransaction().setMethod(HTTPVerbEnum.POST);
|
||||||
|
|
||||||
Bundle resp = ourSystemDao.transaction(request);
|
Bundle resp = ourSystemDao.transaction(request);
|
||||||
|
|
|
@ -4,7 +4,11 @@ import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.Socket;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -90,6 +94,7 @@ public class ResourceProviderDstu2Test {
|
||||||
private static DaoConfig ourDaoConfig;
|
private static DaoConfig ourDaoConfig;
|
||||||
private static CloseableHttpClient ourHttpClient;
|
private static CloseableHttpClient ourHttpClient;
|
||||||
private static String ourServerBase;
|
private static String ourServerBase;
|
||||||
|
private static int ourPort;
|
||||||
|
|
||||||
// private static JpaConformanceProvider ourConfProvider;
|
// private static JpaConformanceProvider ourConfProvider;
|
||||||
|
|
||||||
|
@ -143,6 +148,7 @@ public class ResourceProviderDstu2Test {
|
||||||
String resource = ourFhirCtx.newXmlParser().encodeResourceToString(pt);
|
String resource = ourFhirCtx.newXmlParser().encodeResourceToString(pt);
|
||||||
|
|
||||||
HttpPost post = new HttpPost(ourServerBase + "/Patient");
|
HttpPost post = new HttpPost(ourServerBase + "/Patient");
|
||||||
|
post.addHeader(Constants.HEADER_IF_NONE_EXIST, "Patient?name=" + methodName);
|
||||||
post.setEntity(new StringEntity(resource, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));
|
post.setEntity(new StringEntity(resource, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));
|
||||||
CloseableHttpResponse response = ourHttpClient.execute(post);
|
CloseableHttpResponse response = ourHttpClient.execute(post);
|
||||||
IdDt id;
|
IdDt id;
|
||||||
|
@ -162,7 +168,7 @@ public class ResourceProviderDstu2Test {
|
||||||
try {
|
try {
|
||||||
assertEquals(200, response.getStatusLine().getStatusCode());
|
assertEquals(200, response.getStatusLine().getStatusCode());
|
||||||
String newIdString = response.getFirstHeader(Constants.HEADER_LOCATION_LC).getValue();
|
String newIdString = response.getFirstHeader(Constants.HEADER_LOCATION_LC).getValue();
|
||||||
assertEquals(id.getValue(), newIdString);
|
assertEquals(id.getValue(), newIdString); // version should match for conditional create
|
||||||
} finally {
|
} finally {
|
||||||
response.close();
|
response.close();
|
||||||
}
|
}
|
||||||
|
@ -177,7 +183,7 @@ public class ResourceProviderDstu2Test {
|
||||||
pt.addName().addFamily(methodName);
|
pt.addName().addFamily(methodName);
|
||||||
String resource = ourFhirCtx.newXmlParser().encodeResourceToString(pt);
|
String resource = ourFhirCtx.newXmlParser().encodeResourceToString(pt);
|
||||||
|
|
||||||
HttpPost post = new HttpPost(ourServerBase + "/Patient");
|
HttpPost post = new HttpPost(ourServerBase + "/Patient?name=" + methodName);
|
||||||
post.setEntity(new StringEntity(resource, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));
|
post.setEntity(new StringEntity(resource, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));
|
||||||
CloseableHttpResponse response = ourHttpClient.execute(post);
|
CloseableHttpResponse response = ourHttpClient.execute(post);
|
||||||
IdDt id;
|
IdDt id;
|
||||||
|
@ -196,7 +202,7 @@ public class ResourceProviderDstu2Test {
|
||||||
try {
|
try {
|
||||||
assertEquals(200, response.getStatusLine().getStatusCode());
|
assertEquals(200, response.getStatusLine().getStatusCode());
|
||||||
IdDt newId = new IdDt(response.getFirstHeader(Constants.HEADER_LOCATION_LC).getValue());
|
IdDt newId = new IdDt(response.getFirstHeader(Constants.HEADER_LOCATION_LC).getValue());
|
||||||
assertEquals(id.toVersionless(), newId.toVersionless());
|
assertEquals(id.toVersionless(), newId.toVersionless()); // version shouldn't match for conditional update
|
||||||
assertNotEquals(id, newId);
|
assertNotEquals(id, newId);
|
||||||
} finally {
|
} finally {
|
||||||
response.close();
|
response.close();
|
||||||
|
@ -205,8 +211,8 @@ public class ResourceProviderDstu2Test {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeleteResourceConditional() throws IOException {
|
public void testDeleteResourceConditional1() throws IOException {
|
||||||
String methodName = "testDeleteResourceConditional";
|
String methodName = "testDeleteResourceConditional1";
|
||||||
|
|
||||||
Patient pt = new Patient();
|
Patient pt = new Patient();
|
||||||
pt.addName().addFamily(methodName);
|
pt.addName().addFamily(methodName);
|
||||||
|
@ -244,6 +250,67 @@ public class ResourceProviderDstu2Test {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Based on email from Rene Spronk
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testDeleteResourceConditional2() throws IOException, Exception {
|
||||||
|
String methodName = "testDeleteResourceConditional2";
|
||||||
|
|
||||||
|
Patient pt = new Patient();
|
||||||
|
pt.addName().addFamily(methodName);
|
||||||
|
pt.addIdentifier().setSystem("http://ghh.org/patient").setValue("555-44-4444");
|
||||||
|
String resource = ourFhirCtx.newXmlParser().encodeResourceToString(pt);
|
||||||
|
|
||||||
|
HttpPost post = new HttpPost(ourServerBase + "/Patient");
|
||||||
|
post.setEntity(new StringEntity(resource, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));
|
||||||
|
CloseableHttpResponse response = ourHttpClient.execute(post);
|
||||||
|
IdDt id;
|
||||||
|
try {
|
||||||
|
assertEquals(201, response.getStatusLine().getStatusCode());
|
||||||
|
String newIdString = response.getFirstHeader(Constants.HEADER_LOCATION_LC).getValue();
|
||||||
|
assertThat(newIdString, startsWith(ourServerBase + "/Patient/"));
|
||||||
|
id = new IdDt(newIdString);
|
||||||
|
} finally {
|
||||||
|
response.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Try it with a raw socket call. The Apache client won't let us use the unescaped "|" in the URL
|
||||||
|
* but we want to make sure that works too..
|
||||||
|
*/
|
||||||
|
Socket sock = new Socket();
|
||||||
|
try {
|
||||||
|
sock.connect(new InetSocketAddress("localhost", ourPort));
|
||||||
|
sock.getOutputStream().write(("DELETE " + "/fhir/context/Patient?identifier=" + ("http://ghh.org/patient|555-44-4444")).getBytes("UTF-8"));
|
||||||
|
sock.getOutputStream().write("\n\n".getBytes("UTF-8"));
|
||||||
|
sock.getOutputStream().flush();
|
||||||
|
|
||||||
|
InputStream inputStream = sock.getInputStream();
|
||||||
|
|
||||||
|
byte[] buf = new byte[10000];
|
||||||
|
int count;
|
||||||
|
StringBuilder b = new StringBuilder();
|
||||||
|
while ((count = inputStream.read(buf)) != -1) {
|
||||||
|
b.append(new String(buf, 0, count, Charset.forName("UTF-8")));
|
||||||
|
}
|
||||||
|
String resp = b.toString();
|
||||||
|
|
||||||
|
ourLog.info("Resp: {}", resp);
|
||||||
|
} finally {
|
||||||
|
sock.close();
|
||||||
|
}
|
||||||
|
HttpGet read = new HttpGet(ourServerBase + "/Patient/" + id.getIdPart());
|
||||||
|
response = ourHttpClient.execute(read);
|
||||||
|
try {
|
||||||
|
ourLog.info(response.toString());
|
||||||
|
assertEquals(Constants.STATUS_HTTP_410_GONE, response.getStatusLine().getStatusCode());
|
||||||
|
} finally {
|
||||||
|
response.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test for issue #60
|
* Test for issue #60
|
||||||
*/
|
*/
|
||||||
|
@ -354,7 +421,7 @@ public class ResourceProviderDstu2Test {
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
List<IdDt> list = toIdListUnqualifiedVersionless(found);
|
List<IdDt> list = toIdListUnqualifiedVersionless(found);
|
||||||
ourLog.info(methodName + ": " + list.toString());
|
ourLog.info(methodName + " found: " + list.toString() + " - Wanted " + orgMissing + " but not " + orgNotMissing);
|
||||||
assertThat(list, not(containsInRelativeOrder(orgNotMissing)));
|
assertThat(list, not(containsInRelativeOrder(orgNotMissing)));
|
||||||
assertThat("Wanted " + orgMissing + " but found: " + list, list, containsInRelativeOrder(orgMissing));
|
assertThat("Wanted " + orgMissing + " but found: " + list, list, containsInRelativeOrder(orgMissing));
|
||||||
}
|
}
|
||||||
|
@ -743,8 +810,7 @@ public class ResourceProviderDstu2Test {
|
||||||
p1.addIdentifier().setValue("testSearchByIdentifierWithoutSystem01");
|
p1.addIdentifier().setValue("testSearchByIdentifierWithoutSystem01");
|
||||||
IdDt p1Id = ourClient.create().resource(p1).execute().getId();
|
IdDt p1Id = ourClient.create().resource(p1).execute().getId();
|
||||||
|
|
||||||
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode(null, "testSearchByIdentifierWithoutSystem01")).encodedJson().prettyPrint()
|
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode(null, "testSearchByIdentifierWithoutSystem01")).encodedJson().prettyPrint().execute();
|
||||||
.execute();
|
|
||||||
assertEquals(1, actual.size());
|
assertEquals(1, actual.size());
|
||||||
assertEquals(p1Id.getIdPart(), actual.getEntries().get(0).getResource().getId().getIdPart());
|
assertEquals(p1Id.getIdPart(), actual.getEntries().get(0).getResource().getId().getIdPart());
|
||||||
|
|
||||||
|
@ -842,8 +908,7 @@ public class ResourceProviderDstu2Test {
|
||||||
|
|
||||||
assertThat(p1Id.getValue(), containsString("Patient/testUpdateWithClientSuppliedIdWhichDoesntExistRpDstu2/_history"));
|
assertThat(p1Id.getValue(), containsString("Patient/testUpdateWithClientSuppliedIdWhichDoesntExistRpDstu2/_history"));
|
||||||
|
|
||||||
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode("urn:system", "testUpdateWithClientSuppliedIdWhichDoesntExistRpDstu2"))
|
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode("urn:system", "testUpdateWithClientSuppliedIdWhichDoesntExistRpDstu2")).encodedJson().prettyPrint().execute();
|
||||||
.encodedJson().prettyPrint().execute();
|
|
||||||
assertEquals(1, actual.size());
|
assertEquals(1, actual.size());
|
||||||
assertEquals(p1Id.getIdPart(), actual.getEntries().get(0).getResource().getId().getIdPart());
|
assertEquals(p1Id.getIdPart(), actual.getEntries().get(0).getResource().getId().getIdPart());
|
||||||
|
|
||||||
|
@ -859,13 +924,13 @@ public class ResourceProviderDstu2Test {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void beforeClass() throws Exception {
|
public static void beforeClass() throws Exception {
|
||||||
int port = RandomServerPortProvider.findFreePort();
|
ourPort = RandomServerPortProvider.findFreePort();
|
||||||
|
|
||||||
RestfulServer restServer = new RestfulServer();
|
RestfulServer restServer = new RestfulServer();
|
||||||
ourFhirCtx = FhirContext.forDstu2();
|
ourFhirCtx = FhirContext.forDstu2();
|
||||||
restServer.setFhirContext(ourFhirCtx);
|
restServer.setFhirContext(ourFhirCtx);
|
||||||
|
|
||||||
ourServerBase = "http://localhost:" + port + "/fhir/context";
|
ourServerBase = "http://localhost:" + ourPort + "/fhir/context";
|
||||||
|
|
||||||
ourAppCtx = new ClassPathXmlApplicationContext("hapi-fhir-server-resourceproviders-dstu2.xml", "fhir-jpabase-spring-test-config.xml");
|
ourAppCtx = new ClassPathXmlApplicationContext("hapi-fhir-server-resourceproviders-dstu2.xml", "fhir-jpabase-spring-test-config.xml");
|
||||||
|
|
||||||
|
@ -883,7 +948,7 @@ public class ResourceProviderDstu2Test {
|
||||||
|
|
||||||
restServer.setPagingProvider(new FifoMemoryPagingProvider(10));
|
restServer.setPagingProvider(new FifoMemoryPagingProvider(10));
|
||||||
|
|
||||||
ourServer = new Server(port);
|
ourServer = new Server(ourPort);
|
||||||
|
|
||||||
ServletContextHandler proxyHandler = new ServletContextHandler();
|
ServletContextHandler proxyHandler = new ServletContextHandler();
|
||||||
proxyHandler.setContextPath("/");
|
proxyHandler.setContextPath("/");
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package ca.uhn.fhir.jpa.provider;
|
package ca.uhn.fhir.jpa.provider;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
@ -22,6 +24,8 @@ import ca.uhn.fhir.model.dstu.resource.Observation;
|
||||||
import ca.uhn.fhir.model.dstu.resource.Organization;
|
import ca.uhn.fhir.model.dstu.resource.Organization;
|
||||||
import ca.uhn.fhir.model.dstu.resource.Patient;
|
import ca.uhn.fhir.model.dstu.resource.Patient;
|
||||||
import ca.uhn.fhir.model.dstu.resource.Questionnaire;
|
import ca.uhn.fhir.model.dstu.resource.Questionnaire;
|
||||||
|
import ca.uhn.fhir.model.dstu2.resource.Bundle;
|
||||||
|
import ca.uhn.fhir.model.primitive.IdDt;
|
||||||
import ca.uhn.fhir.rest.client.IGenericClient;
|
import ca.uhn.fhir.rest.client.IGenericClient;
|
||||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
|
|
||||||
|
@ -42,6 +46,42 @@ public class SystemProviderTest {
|
||||||
ourLog.info(response);
|
ourLog.info(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTransactionFromBundle2() throws Exception {
|
||||||
|
|
||||||
|
InputStream bundleRes = SystemProviderTest.class.getResourceAsStream("/transaction_link_patient_eve_temp.xml");
|
||||||
|
String bundle = IOUtils.toString(bundleRes);
|
||||||
|
String response = ourClient.transaction().withBundle(bundle).prettyPrint().execute();
|
||||||
|
ourLog.info(response);
|
||||||
|
|
||||||
|
Bundle resp = ourCtx.newXmlParser().parseResource(Bundle.class, response);
|
||||||
|
IdDt id1_1 = new IdDt(resp.getEntry().get(1).getTransactionResponse().getLocation());
|
||||||
|
assertEquals("Provenance", id1_1.getResourceType());
|
||||||
|
IdDt id1_2 = new IdDt(resp.getEntry().get(2).getTransactionResponse().getLocation());
|
||||||
|
IdDt id1_3 = new IdDt(resp.getEntry().get(3).getTransactionResponse().getLocation());
|
||||||
|
IdDt id1_4 = new IdDt(resp.getEntry().get(4).getTransactionResponse().getLocation());
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Same bundle!
|
||||||
|
*/
|
||||||
|
|
||||||
|
bundleRes = SystemProviderTest.class.getResourceAsStream("/transaction_link_patient_eve_temp.xml");
|
||||||
|
bundle = IOUtils.toString(bundleRes);
|
||||||
|
response = ourClient.transaction().withBundle(bundle).prettyPrint().execute();
|
||||||
|
ourLog.info(response);
|
||||||
|
|
||||||
|
resp = ourCtx.newXmlParser().parseResource(Bundle.class, response);
|
||||||
|
IdDt id2_1 = new IdDt(resp.getEntry().get(1).getTransactionResponse().getLocation());
|
||||||
|
IdDt id2_2 = new IdDt(resp.getEntry().get(2).getTransactionResponse().getLocation());
|
||||||
|
IdDt id2_3 = new IdDt(resp.getEntry().get(3).getTransactionResponse().getLocation());
|
||||||
|
IdDt id2_4 = new IdDt(resp.getEntry().get(4).getTransactionResponse().getLocation());
|
||||||
|
|
||||||
|
assertNotEquals(id1_1.toVersionless(), id2_1.toVersionless());
|
||||||
|
assertEquals("Provenance", id2_1.getResourceType());
|
||||||
|
assertEquals(id1_2.toVersionless(), id2_2.toVersionless());
|
||||||
|
assertEquals(id1_3.toVersionless(), id2_3.toVersionless());
|
||||||
|
assertEquals(id1_4.toVersionless(), id2_4.toVersionless());
|
||||||
|
}
|
||||||
|
|
||||||
@AfterClass
|
@AfterClass
|
||||||
public static void afterClass() throws Exception {
|
public static void afterClass() throws Exception {
|
||||||
|
|
|
@ -0,0 +1,168 @@
|
||||||
|
<!-- Example Provided by Rene Spronk -->
|
||||||
|
<Bundle xmlns="http://hl7.org/fhir">
|
||||||
|
<id value="ringholm1430996763590912"/>
|
||||||
|
<type value="transaction"/>
|
||||||
|
<entry>
|
||||||
|
<resource>
|
||||||
|
<Provenance>
|
||||||
|
<id value="ringholm1430996763591053"/>
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">Authored on 15-Feb 2015 by GHH.</div>
|
||||||
|
</text>
|
||||||
|
<target>
|
||||||
|
<!-- unversioned, part of a transaction -->
|
||||||
|
<reference value="Patient/555-44-4444"/>
|
||||||
|
</target>
|
||||||
|
<recorded value="2015-05-07T13:06:03+01:00"/>
|
||||||
|
<reason>
|
||||||
|
<text value="Patient validated demographics."/>
|
||||||
|
</reason>
|
||||||
|
<agent>
|
||||||
|
<role>
|
||||||
|
<system value="http://hl7.org/fhir/provenance-participant-role"/>
|
||||||
|
<code value="author"/>
|
||||||
|
</role>
|
||||||
|
<type>
|
||||||
|
<system value="http://hl7.org/fhir/provenance-participant-type"/>
|
||||||
|
<code value="patient"/>
|
||||||
|
</type>
|
||||||
|
<referenceReference>
|
||||||
|
<reference value="Patient/555-44-4444"/>
|
||||||
|
<display value="Patient Everywoman"/>
|
||||||
|
</referenceReference>
|
||||||
|
<display value="Eve Everywoman"/>
|
||||||
|
</agent>
|
||||||
|
</Provenance>
|
||||||
|
</resource>
|
||||||
|
<transaction>
|
||||||
|
<method value="POST"/>
|
||||||
|
</transaction>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<resource>
|
||||||
|
<Patient>
|
||||||
|
<id value="555-44-4444"/>
|
||||||
|
<extension url="http://ihe.net/ITI-78/Profile/pdqm#mothersMaidenName">
|
||||||
|
<valueHumanName>
|
||||||
|
<family value="Jones"/>
|
||||||
|
</valueHumanName>
|
||||||
|
</extension>
|
||||||
|
<identifier>
|
||||||
|
<use value="official"/>
|
||||||
|
<system value="http://ghh.org/patient"/>
|
||||||
|
<value value="555-44-4444"/>
|
||||||
|
</identifier>
|
||||||
|
<identifier>
|
||||||
|
<use value="official"/>
|
||||||
|
<system value="http://www.ohio.gov/dmv/driverslicence"/>
|
||||||
|
<value value="67-A4335"/>
|
||||||
|
<period>
|
||||||
|
<end value="2003-05-20"/>
|
||||||
|
</period>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<use value="official"/>
|
||||||
|
<family value="Everywoman"/>
|
||||||
|
<given value="Eve E."/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="(206)3345232"/>
|
||||||
|
<use value="home"/>
|
||||||
|
</telecom>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="(206)752-121"/>
|
||||||
|
<use value="work"/>
|
||||||
|
</telecom>
|
||||||
|
<gender value="female"/>
|
||||||
|
<birthDate value="1962-03-20"/>
|
||||||
|
<address>
|
||||||
|
<line value="153 Fernwood Dr."/>
|
||||||
|
<city value="Statesville"/>
|
||||||
|
<state value="OH"/>
|
||||||
|
<postalCode value="35292"/>
|
||||||
|
</address>
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/GHH"/>
|
||||||
|
<display value="Good Health Hospital"/>
|
||||||
|
</managingOrganization>
|
||||||
|
<link>
|
||||||
|
<other>
|
||||||
|
<reference value="Patient/temp6789"/>
|
||||||
|
</other>
|
||||||
|
<type value="seealso"/>
|
||||||
|
</link>
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
||||||
|
</resource>
|
||||||
|
<transaction>
|
||||||
|
<method value="PUT"/>
|
||||||
|
<url value="Patient/?identifier=http://ghh.org/patient%7C555-44-4444"/>
|
||||||
|
</transaction>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<resource>
|
||||||
|
<Patient>
|
||||||
|
<!-- Jane Doe registered in the emergency department -->
|
||||||
|
<id value="temp6789"/>
|
||||||
|
<identifier>
|
||||||
|
<use value="temp"/>
|
||||||
|
<system value="http://ghh.org/patient"/>
|
||||||
|
<value value="temp6789"/>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<use value="temp"/>
|
||||||
|
<family value="Doe 6789"/>
|
||||||
|
<given value="Jane"/>
|
||||||
|
</name>
|
||||||
|
<gender value="female"/>
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/GHH"/>
|
||||||
|
<display value="Good Health Hospital"/>
|
||||||
|
</managingOrganization>
|
||||||
|
<link>
|
||||||
|
<other>
|
||||||
|
<reference value="Patient/555-44-4444"/>
|
||||||
|
</other>
|
||||||
|
<type value="replace"/>
|
||||||
|
</link>
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
||||||
|
</resource>
|
||||||
|
<transaction>
|
||||||
|
<method value="PUT"/>
|
||||||
|
<url value="Patient/?identifier=http://ghh.org/patient%7Ctemp6789"/>
|
||||||
|
</transaction>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<resource>
|
||||||
|
<Organization>
|
||||||
|
<id value="GHH"/>
|
||||||
|
<identifier>
|
||||||
|
<!-- Identifier for the GHH hospital -->
|
||||||
|
<use value="official"/>
|
||||||
|
<system value="http://ghh.org/department"/>
|
||||||
|
<value value="GHH"/>
|
||||||
|
</identifier>
|
||||||
|
<name value="Good Health Hospital"/>
|
||||||
|
<type>
|
||||||
|
<!-- GHH is a Hospital -->
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="22232009"/>
|
||||||
|
<display value="Hospital"/>
|
||||||
|
</coding>
|
||||||
|
</type>
|
||||||
|
<active value="true"/>
|
||||||
|
</Organization>
|
||||||
|
</resource>
|
||||||
|
<transaction>
|
||||||
|
<method value="POST"/>
|
||||||
|
<url value="Organization"/>
|
||||||
|
<ifNoneExist value="Organization/?identifier=http://ghh.org/department%7CGHH"/>
|
||||||
|
</transaction>
|
||||||
|
</entry>
|
||||||
|
</Bundle>
|
||||||
|
|
|
@ -41,19 +41,19 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- At least one "structures" JAR must also be included -->
|
<!-- At least one "structures" JAR must also be included -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -63,14 +63,14 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- This dependency is used for the "FHIR Tester" web app overlay -->
|
<!-- This dependency is used for the "FHIR Tester" web app overlay -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<type>war</type>
|
<type>war</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -18,22 +18,22 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<type>war</type>
|
<type>war</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-deployable-pom</artifactId>
|
<artifactId>hapi-deployable-pom</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-tinder-plugin</artifactId>
|
<artifactId>hapi-tinder-plugin</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
|
|
@ -140,3 +140,4 @@ local.properties
|
||||||
/target/
|
/target/
|
||||||
/target/
|
/target/
|
||||||
/target/
|
/target/
|
||||||
|
/target/
|
||||||
|
|
|
@ -5,20 +5,20 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-deployable-pom</artifactId>
|
<artifactId>hapi-deployable-pom</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>HAPI FHIR Structures - DSTU2 (FHIR v0.4.0)</name>
|
<name>HAPI FHIR Structures - DSTU2 (FHIR v0.5.0)</name>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -177,7 +177,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-tinder-plugin</artifactId>
|
<artifactId>hapi-tinder-plugin</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
package ca.uhn.fhir.rest.client;
|
package ca.uhn.fhir.rest.client;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.containsString;
|
import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.mockito.Mockito.*;
|
||||||
import static org.mockito.Mockito.mock;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.Reader;
|
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class ResourceValidatorDstu2Test {
|
||||||
} catch (ValidationFailureException e) {
|
} catch (ValidationFailureException e) {
|
||||||
String encoded = ourCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(e.getOperationOutcome());
|
String encoded = ourCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(e.getOperationOutcome());
|
||||||
ourLog.info(encoded);
|
ourLog.info(encoded);
|
||||||
assertThat(encoded, containsString("tim-1: aa"));
|
assertThat(encoded, containsString("tim-1:"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-deployable-pom</artifactId>
|
<artifactId>hapi-deployable-pom</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -27,22 +27,22 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--<dependency>
|
<!--<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--
|
<!--
|
||||||
Because Tinder is a part of the HAPI FHIR build process (it generates
|
Because Tinder is a part of the HAPI FHIR build process (it generates
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package org.hl7.fhir.instance.model;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR - Core Library
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2015 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This interface is a simple marker for anything which is an HL7
|
||||||
|
* structure of some kind. It is provided mostly to simplify convergence
|
||||||
|
* between the HL7.org structures and the HAPI ones.
|
||||||
|
*/
|
||||||
|
public interface IBase {
|
||||||
|
|
||||||
|
boolean isEmpty();
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,5 @@
|
||||||
package org.hl7.fhir.instance.model;
|
package org.hl7.fhir.instance.model;
|
||||||
|
|
||||||
import org.hl7.fhir.instance.model.api.IBase;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
|
@ -33,10 +31,10 @@ import org.hl7.fhir.instance.model.api.IBase;
|
||||||
*/
|
*/
|
||||||
public interface IBaseResource extends IBase {
|
public interface IBaseResource extends IBase {
|
||||||
|
|
||||||
// IIdType getId();
|
IIdType getIdElement();
|
||||||
//
|
|
||||||
// IBaseResource setId(String theId);
|
IBaseResource setId(String theId);
|
||||||
//
|
|
||||||
// IBaseResource setId(IIdType theId);
|
IBaseResource setId(IIdType theId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
package org.hl7.fhir.instance.model;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR - Core Library
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2015 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
public interface IIdType {
|
||||||
|
|
||||||
|
boolean isEmpty();
|
||||||
|
|
||||||
|
boolean isLocal();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the value of this ID. Note that this value may be a fully qualified URL, a relative/partial URL, or a simple ID. Use {@link #getIdPart()} to get just the ID portion.
|
||||||
|
*
|
||||||
|
* @see #getIdPart()
|
||||||
|
*/
|
||||||
|
String getValue();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns only the logical ID part of this ID. For example, given the ID
|
||||||
|
* "http://example,.com/fhir/Patient/123/_history/456", this method would
|
||||||
|
* return "123".
|
||||||
|
*/
|
||||||
|
String getIdPart();
|
||||||
|
|
||||||
|
boolean hasIdPart();
|
||||||
|
|
||||||
|
String getBaseUrl();
|
||||||
|
|
||||||
|
IIdType toUnqualifiedVersionless();
|
||||||
|
|
||||||
|
IIdType toVersionless();
|
||||||
|
|
||||||
|
IIdType setValue(String theString);
|
||||||
|
|
||||||
|
boolean hasVersionIdPart();
|
||||||
|
|
||||||
|
String getVersionIdPart();
|
||||||
|
|
||||||
|
IIdType toUnqualified();
|
||||||
|
|
||||||
|
boolean hasResourceType();
|
||||||
|
|
||||||
|
IIdType withResourceType(String theResName);
|
||||||
|
|
||||||
|
String getResourceType();
|
||||||
|
|
||||||
|
IIdType withServerBase(String theServerBase, String theResourceName);
|
||||||
|
|
||||||
|
boolean isAbsolute();
|
||||||
|
|
||||||
|
boolean isIdPartValidLong();
|
||||||
|
|
||||||
|
Long getIdPartAsLong();
|
||||||
|
|
||||||
|
}
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -17,12 +17,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-tinder-plugin</artifactId>
|
<artifactId>hapi-tinder-plugin</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>custom-structs</id>
|
<id>custom-structs</id>
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
<artifactId>hapi-fhir-structures-dstu</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -12,7 +12,7 @@
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<name>HAPI-FHIR</name>
|
<name>HAPI-FHIR</name>
|
||||||
<url>http://jamesagnew.github.io/hapi-fhir/</url>
|
<url>http://jamesagnew.github.io/hapi-fhir/</url>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -17,12 +17,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
<groupId>ca.uhn.hapi.example</groupId>
|
<groupId>ca.uhn.hapi.example</groupId>
|
||||||
<artifactId>restful-server-example</artifactId>
|
<artifactId>restful-server-example</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
|
|
||||||
<name>HAPI FHIR Sample RESTful Server</name>
|
<name>HAPI FHIR Sample RESTful Server</name>
|
||||||
|
@ -35,20 +35,20 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-base</artifactId>
|
<artifactId>hapi-fhir-base</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- At least one "structures" JAR must also be included -->
|
<!-- At least one "structures" JAR must also be included -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- This dependency is used for the "FHIR Tester" web app overlay -->
|
<!-- This dependency is used for the "FHIR Tester" web app overlay -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
<artifactId>hapi-fhir-testpage-overlay</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.1-SNAPSHOT</version>
|
||||||
<type>war</type>
|
<type>war</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
Loading…
Reference in New Issue