Fix uploading CLI DSTU2 examples
This commit is contained in:
parent
eba136d706
commit
8a9a031a8d
|
@ -13,15 +13,7 @@ import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipInputStream;
|
import java.util.zip.ZipInputStream;
|
||||||
|
|
||||||
|
@ -241,8 +233,8 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
|
|
||||||
private void sendBundleToTarget(String targetServer, FhirContext ctx, IBaseBundle bundle) throws Exception, IOException {
|
private void sendBundleToTarget(String targetServer, FhirContext ctx, IBaseBundle bundle) throws Exception, IOException {
|
||||||
List<IBaseResource> resources = BundleUtil.toListOfResources(ctx, bundle);
|
List<IBaseResource> resources = BundleUtil.toListOfResources(ctx, bundle);
|
||||||
|
|
||||||
for (Iterator<IBaseResource> iter = resources.iterator(); iter.hasNext(); ) {
|
for (Iterator<IBaseResource> iter = resources.iterator(); iter.hasNext();) {
|
||||||
IBaseResource next = iter.next();
|
IBaseResource next = iter.next();
|
||||||
String nextType = ctx.getResourceDefinition(next).getName();
|
String nextType = ctx.getResourceDefinition(next).getName();
|
||||||
if (nextType.endsWith("Definition")) {
|
if (nextType.endsWith("Definition")) {
|
||||||
|
@ -254,53 +246,55 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<IBaseResource> subResourceList = new ArrayList<IBaseResource>();
|
List<IBaseResource> subResourceList = new ArrayList<IBaseResource>();
|
||||||
while (resources.size() > 0) {
|
while (resources.size() > 0) {
|
||||||
|
|
||||||
subResourceList.add(resources.remove(0));
|
IBaseResource nextAddedResource = resources.remove(0);
|
||||||
|
subResourceList.add(nextAddedResource);
|
||||||
|
|
||||||
boolean found = false;
|
Set<String> checkedTargets = new HashSet<String>();
|
||||||
do {
|
|
||||||
|
for (int i = 0; i < subResourceList.size(); i++) {
|
||||||
|
IBaseResource nextCandidateSource = subResourceList.get(i);
|
||||||
|
for (ResourceReferenceInfo nextRef : ctx.newTerser().getAllResourceReferences(nextCandidateSource)) {
|
||||||
|
String nextRefResourceType = nextRef.getResourceReference().getReferenceElement().getResourceType();
|
||||||
|
if (isBlank(nextRefResourceType)) {
|
||||||
|
nextRef.getResourceReference().setResource(null);
|
||||||
|
nextRef.getResourceReference().setReference(null);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String nextRefIdPart = nextRef.getResourceReference().getReferenceElement().getIdPart();
|
||||||
|
if (nextRefIdPart.startsWith("EX")) {
|
||||||
|
nextRefIdPart = nextRefIdPart.substring(2);
|
||||||
|
}
|
||||||
|
String nextTarget = nextRefResourceType + "/EX" + nextRefIdPart;
|
||||||
|
nextRef.getResourceReference().setResource(null);
|
||||||
|
nextRef.getResourceReference().setReference(nextTarget);
|
||||||
|
if (checkedTargets.add(nextTarget) == false) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
for (IBaseResource nextTarget : subResourceList) {
|
boolean found = false;
|
||||||
for (int i = 0; i < resources.size(); i++) {
|
for (int j = 0; j < resources.size(); j++) {
|
||||||
IBaseResource nextCandidateSource = resources.get(i);
|
String candidateTarget = resources.get(j).getIdElement().getValue();
|
||||||
for (ResourceReferenceInfo nextRef : ctx.newTerser().getAllResourceReferences(nextCandidateSource)) {
|
if (isNotBlank(nextTarget) && nextTarget.equals(candidateTarget)) {
|
||||||
|
ourLog.info("Reflexively adding resource {} to bundle as it is a reference target", nextTarget);
|
||||||
/*
|
subResourceList.add(resources.remove(j));
|
||||||
* If we have a reference URL but not a resource, it's a reference
|
found = true;
|
||||||
* to another server and we can't upload it
|
break;
|
||||||
*/
|
|
||||||
if (isNotBlank(nextRef.getResourceReference().getReferenceElement().getValue())) {
|
|
||||||
if (nextRef.getResourceReference().getReferenceElement().getValue().contains("gsk.com")) {
|
|
||||||
nextRef.getResourceReference().setReference("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String nextRes = nextRef.getResourceReference().getReferenceElement().toUnqualifiedVersionless().getValue();
|
|
||||||
if (isNotBlank(nextRes) && nextRes.equals(nextTarget.getIdElement().toUnqualifiedVersionless().getValue())) {
|
|
||||||
subResourceList.add(resources.remove(i));
|
|
||||||
i--;
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} while (found == true);
|
|
||||||
|
|
||||||
if (subResourceList.size() < 10 && resources.size() > 0) {
|
if (subResourceList.size() < 10 && resources.size() > 0) {
|
||||||
subResourceList.add(resources.remove(0));
|
subResourceList.add(resources.remove(0));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ourLog.info("About to upload {} examples in a transaction, {} remaining", subResourceList.size(), resources.size());
|
ourLog.info("About to upload {} examples in a transaction, {} remaining", subResourceList.size(), resources.size());
|
||||||
if (true) {
|
|
||||||
subResourceList.clear();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
IVersionSpecificBundleFactory bundleFactory = ctx.newBundleFactory();
|
IVersionSpecificBundleFactory bundleFactory = ctx.newBundleFactory();
|
||||||
bundleFactory.initializeBundleFromResourceList(null, subResourceList, null, null, 0, BundleTypeEnum.TRANSACTION);
|
bundleFactory.initializeBundleFromResourceList(null, subResourceList, null, null, 0, BundleTypeEnum.TRANSACTION);
|
||||||
IBaseResource subBundle = bundleFactory.getResourceBundle();
|
IBaseResource subBundle = bundleFactory.getResourceBundle();
|
||||||
|
@ -328,7 +322,7 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
try {
|
try {
|
||||||
fhirClient.transaction().withBundle(encoded).execute();
|
fhirClient.transaction().withBundle(encoded).execute();
|
||||||
} catch (BaseServerResponseException e) {
|
} catch (BaseServerResponseException e) {
|
||||||
ourLog.error("Failed to upload", e);
|
ourLog.error("Failed to upload bundle:HTTP " + e.getStatusCode() + ": " + e.getMessage());
|
||||||
ourLog.error("Failing bundle: {}", encoded);
|
ourLog.error("Failing bundle: {}", encoded);
|
||||||
}
|
}
|
||||||
long delay = System.currentTimeMillis() - start;
|
long delay = System.currentTimeMillis() - start;
|
||||||
|
@ -363,12 +357,12 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
Entry next = iterator.next();
|
Entry next = iterator.next();
|
||||||
|
|
||||||
// DataElement have giant IDs that seem invalid, need to investigate this..
|
// DataElement have giant IDs that seem invalid, need to investigate this..
|
||||||
if ("DataElement".equals(next.getResource().getResourceName()) || "OperationOutcome".equals(next.getResource().getResourceName())
|
if ("Subscription".equals(next.getResource().getResourceName()) || "DataElement".equals(next.getResource().getResourceName()) || "OperationOutcome".equals(next.getResource().getResourceName())
|
||||||
|| "OperationDefinition".equals(next.getResource().getResourceName())) {
|
|| "OperationDefinition".equals(next.getResource().getResourceName())) {
|
||||||
ourLog.info("Skipping " + next.getResource().getResourceName() + " example");
|
ourLog.info("Skipping " + next.getResource().getResourceName() + " example");
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else {
|
} else {
|
||||||
IdDt resourceId = next.getResource().getId();
|
IdDt resourceId = new IdDt(next.getResource().getResourceName() + "/EX" + next.getResource().getId().getIdPart());
|
||||||
if (!fullIds.add(resourceId.toUnqualifiedVersionless().getValue())) {
|
if (!fullIds.add(resourceId.toUnqualifiedVersionless().getValue())) {
|
||||||
ourLog.info("Discarding duplicate resource: " + resourceId.getValue());
|
ourLog.info("Discarding duplicate resource: " + resourceId.getValue());
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
@ -377,36 +371,20 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
|
|
||||||
String idPart = resourceId.getIdPart();
|
String idPart = resourceId.getIdPart();
|
||||||
if (idPart != null) {
|
if (idPart != null) {
|
||||||
if (!ids.containsKey(idPart)) {
|
next.getResource().setId(resourceId);
|
||||||
ids.put(idPart, 1);
|
|
||||||
} else {
|
|
||||||
ids.put(idPart, ids.get(idPart) + 1);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
ourLog.info("Discarding resource with not explicit ID");
|
ourLog.info("Discarding resource with not explicit ID");
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Set<String> qualIds = new HashSet<String>();
|
Set<String> qualIds = new TreeSet<String>();
|
||||||
Map<String, String> renames = new HashMap<String, String>();
|
|
||||||
for (Iterator<Entry> iterator = bundle.getEntry().iterator(); iterator.hasNext();) {
|
for (Iterator<Entry> iterator = bundle.getEntry().iterator(); iterator.hasNext();) {
|
||||||
Entry next = iterator.next();
|
Entry next = iterator.next();
|
||||||
if (next.getResource().getId().getIdPart() != null) {
|
if (next.getResource().getId().getIdPart() != null) {
|
||||||
String idPart = next.getResource().getId().getIdPart();
|
String nextId = next.getResource().getId().getValue();
|
||||||
String originalId = next.getResource().getResourceName() + '/' + idPart;
|
|
||||||
if (ids.get(idPart) > 1 || next.getResource().getId().isIdPartValidLong()) {
|
|
||||||
idPart = next.getResource().getResourceName() + idPart;
|
|
||||||
}
|
|
||||||
String nextId = next.getResource().getResourceName() + '/' + idPart;
|
|
||||||
if (!qualIds.add(nextId)) {
|
|
||||||
ourLog.info("Discarding duplicate resource with ID: " + nextId);
|
|
||||||
iterator.remove();
|
|
||||||
}
|
|
||||||
next.getRequest().setMethod(HTTPVerbEnum.PUT);
|
next.getRequest().setMethod(HTTPVerbEnum.PUT);
|
||||||
next.getRequest().setUrl(nextId);
|
next.getRequest().setUrl(nextId);
|
||||||
next.getResource().setId("");
|
|
||||||
renames.put(originalId, nextId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,17 +399,16 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
// }
|
// }
|
||||||
nextRef.getResourceReference().setResource(null);
|
nextRef.getResourceReference().setResource(null);
|
||||||
String value = nextRef.getResourceReference().getReferenceElement().toUnqualifiedVersionless().getValue();
|
String value = nextRef.getResourceReference().getReferenceElement().toUnqualifiedVersionless().getValue();
|
||||||
if (!qualIds.contains(value) && !nextRef.getResourceReference().getReferenceElement().isLocal()) {
|
|
||||||
if (renames.containsKey(value)) {
|
if (isNotBlank(value)) {
|
||||||
nextRef.getResourceReference().setReference(renames.get(value));
|
if (!qualIds.contains(value) && !nextRef.getResourceReference().getReferenceElement().isLocal()) {
|
||||||
goodRefs++;
|
|
||||||
} else {
|
|
||||||
ourLog.info("Discarding unknown reference: {}", value);
|
ourLog.info("Discarding unknown reference: {}", value);
|
||||||
nextRef.getResourceReference().getReferenceElement().setValue(null);
|
nextRef.getResourceReference().getReferenceElement().setValue(null);
|
||||||
|
} else {
|
||||||
|
goodRefs++;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
goodRefs++;
|
|
||||||
}
|
}
|
||||||
|
ourLog.info("Found ref: {}", value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -460,12 +437,12 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
BundleEntryComponent next = iterator.next();
|
BundleEntryComponent next = iterator.next();
|
||||||
|
|
||||||
// DataElement have giant IDs that seem invalid, need to investigate this..
|
// DataElement have giant IDs that seem invalid, need to investigate this..
|
||||||
if ("DataElement".equals(next.getResource().getResourceType().name()) || "OperationOutcome".equals(next.getResource().getResourceType().name())
|
if ("Subscription".equals(next.getResource().getResourceType()) || "DataElement".equals(next.getResource().getResourceType()) || "OperationOutcome".equals(next.getResource().getResourceType())
|
||||||
|| "OperationDefinition".equals(next.getResource().getResourceType().name())) {
|
|| "OperationDefinition".equals(next.getResource().getResourceType())) {
|
||||||
ourLog.info("Skipping " + next.getResource().getResourceType().name() + " example");
|
ourLog.info("Skipping " + next.getResource().getResourceType() + " example");
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else {
|
} else {
|
||||||
IdType resourceId = next.getResource().getIdElement();
|
IdDt resourceId = new IdDt(next.getResource().getResourceType() + "/EX" + next.getResource().getIdElement().getIdPart());
|
||||||
if (!fullIds.add(resourceId.toUnqualifiedVersionless().getValue())) {
|
if (!fullIds.add(resourceId.toUnqualifiedVersionless().getValue())) {
|
||||||
ourLog.info("Discarding duplicate resource: " + resourceId.getValue());
|
ourLog.info("Discarding duplicate resource: " + resourceId.getValue());
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
@ -474,36 +451,20 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
|
|
||||||
String idPart = resourceId.getIdPart();
|
String idPart = resourceId.getIdPart();
|
||||||
if (idPart != null) {
|
if (idPart != null) {
|
||||||
if (!ids.containsKey(idPart)) {
|
next.getResource().setId(resourceId);
|
||||||
ids.put(idPart, 1);
|
|
||||||
} else {
|
|
||||||
ids.put(idPart, ids.get(idPart) + 1);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
ourLog.info("Discarding resource with not explicit ID");
|
ourLog.info("Discarding resource with not explicit ID");
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Set<String> qualIds = new HashSet<String>();
|
Set<String> qualIds = new TreeSet<String>();
|
||||||
Map<String, String> renames = new HashMap<String, String>();
|
|
||||||
for (Iterator<BundleEntryComponent> iterator = bundle.getEntry().iterator(); iterator.hasNext();) {
|
for (Iterator<BundleEntryComponent> iterator = bundle.getEntry().iterator(); iterator.hasNext();) {
|
||||||
BundleEntryComponent next = iterator.next();
|
BundleEntryComponent next = iterator.next();
|
||||||
if (next.getResource().getIdElement().getIdPart() != null) {
|
if (next.getResource().getIdElement().getIdPart() != null) {
|
||||||
String idPart = next.getResource().getIdElement().getIdPart();
|
String nextId = next.getResource().getIdElement().getValue();
|
||||||
String originalId = next.getResource().getResourceType().name() + '/' + idPart;
|
|
||||||
if (ids.get(idPart) > 1 || next.getResource().getIdElement().isIdPartValidLong()) {
|
|
||||||
idPart = next.getResource().getResourceType().name() + idPart;
|
|
||||||
}
|
|
||||||
String nextId = next.getResource().getResourceType().name() + '/' + idPart;
|
|
||||||
if (!qualIds.add(nextId)) {
|
|
||||||
ourLog.info("Discarding duplicate resource with ID: " + nextId);
|
|
||||||
iterator.remove();
|
|
||||||
}
|
|
||||||
next.getRequest().setMethod(HTTPVerb.PUT);
|
next.getRequest().setMethod(HTTPVerb.PUT);
|
||||||
next.getRequest().setUrl(nextId);
|
next.getRequest().setUrl(nextId);
|
||||||
next.getResource().setId("");
|
|
||||||
renames.put(originalId, nextId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -518,17 +479,16 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
// }
|
// }
|
||||||
nextRef.getResourceReference().setResource(null);
|
nextRef.getResourceReference().setResource(null);
|
||||||
String value = nextRef.getResourceReference().getReferenceElement().toUnqualifiedVersionless().getValue();
|
String value = nextRef.getResourceReference().getReferenceElement().toUnqualifiedVersionless().getValue();
|
||||||
if (!qualIds.contains(value) && !nextRef.getResourceReference().getReferenceElement().isLocal()) {
|
|
||||||
if (renames.containsKey(value)) {
|
if (isNotBlank(value)) {
|
||||||
nextRef.getResourceReference().setReference(renames.get(value));
|
if (!qualIds.contains(value) && !nextRef.getResourceReference().getReferenceElement().isLocal()) {
|
||||||
goodRefs++;
|
|
||||||
} else {
|
|
||||||
ourLog.info("Discarding unknown reference: {}", value);
|
ourLog.info("Discarding unknown reference: {}", value);
|
||||||
nextRef.getResourceReference().getReferenceElement().setValue(null);
|
nextRef.getResourceReference().getReferenceElement().setValue(null);
|
||||||
|
} else {
|
||||||
|
goodRefs++;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
goodRefs++;
|
|
||||||
}
|
}
|
||||||
|
ourLog.info("Found ref: {}", value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -613,6 +573,7 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
return bundle;
|
return bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
private org.hl7.fhir.dstu3.model.Bundle getBundleFromFileDstu3(Integer limit, File inputFile, FhirContext ctx) throws IOException, UnsupportedEncodingException {
|
private org.hl7.fhir.dstu3.model.Bundle getBundleFromFileDstu3(Integer limit, File inputFile, FhirContext ctx) throws IOException, UnsupportedEncodingException {
|
||||||
|
|
||||||
org.hl7.fhir.dstu3.model.Bundle bundle = new org.hl7.fhir.dstu3.model.Bundle();
|
org.hl7.fhir.dstu3.model.Bundle bundle = new org.hl7.fhir.dstu3.model.Bundle();
|
||||||
|
@ -659,7 +620,7 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
|
|
||||||
ValidationResult result = val.validateWithResult(parsed);
|
ValidationResult result = val.validateWithResult(parsed);
|
||||||
if (result.isSuccessful() == false) {
|
if (result.isSuccessful() == false) {
|
||||||
ourLog.info("FAILED to validate example {}", nextEntry.getName());
|
ourLog.info("FAILED to validate example {} - {}", nextEntry.getName(), result.toString());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -731,40 +692,4 @@ public class ExampleDataUploader extends BaseCommand {
|
||||||
System.err.flush();
|
System.err.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte[] readStreamFromInternet(CloseableHttpResponse result) throws IOException {
|
|
||||||
byte[] inputBytes;
|
|
||||||
{
|
|
||||||
long maxLength = result.getEntity().getContentLength();
|
|
||||||
int nextLog = -1;
|
|
||||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
|
||||||
int nRead;
|
|
||||||
byte[] data = new byte[16384];
|
|
||||||
while ((nRead = result.getEntity().getContent().read(data, 0, data.length)) != -1) {
|
|
||||||
buffer.write(data, 0, nRead);
|
|
||||||
if (buffer.size() > nextLog) {
|
|
||||||
System.err.print("\r" + Ansi.ansi().eraseLine());
|
|
||||||
System.err.print(FileUtils.byteCountToDisplaySize(buffer.size()));
|
|
||||||
if (maxLength > 0) {
|
|
||||||
System.err.print(" [");
|
|
||||||
int stars = (int) (50.0f * ((float) buffer.size() / (float) maxLength));
|
|
||||||
for (int i = 0; i < stars; i++) {
|
|
||||||
System.err.print("*");
|
|
||||||
}
|
|
||||||
for (int i = stars; i < 50; i++) {
|
|
||||||
System.err.print(" ");
|
|
||||||
}
|
|
||||||
System.err.print("]");
|
|
||||||
}
|
|
||||||
System.err.flush();
|
|
||||||
nextLog += 100000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
buffer.flush();
|
|
||||||
inputBytes = buffer.toByteArray();
|
|
||||||
}
|
|
||||||
System.err.println();
|
|
||||||
System.err.flush();
|
|
||||||
return inputBytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,11 +26,11 @@ import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
import org.hl7.fhir.dstu3.model.IdType;
|
import org.hl7.fhir.dstu3.model.IdType;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome;
|
import org.hl7.fhir.dstu3.model.OperationOutcome;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.OperationOutcomeIssueComponent;
|
||||||
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.instance.model.api.IAnyResource;
|
import org.hl7.fhir.instance.model.api.IAnyResource;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
|
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
|
@ -30,7 +30,7 @@ import javax.measure.unit.Unit;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.hapi.validation.IValidationSupport;
|
import org.hl7.fhir.dstu3.hapi.validation.IValidationSupport;
|
||||||
import org.hl7.fhir.dstu3.model.*;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConformanceRestSecurityComponent;
|
import org.hl7.fhir.dstu3.model.Conformance.ConformanceRestSecurityComponent;
|
||||||
|
@ -38,7 +38,7 @@ import org.hl7.fhir.dstu3.model.Enumeration;
|
||||||
import org.hl7.fhir.dstu3.model.Location.LocationPositionComponent;
|
import org.hl7.fhir.dstu3.model.Location.LocationPositionComponent;
|
||||||
import org.hl7.fhir.dstu3.model.Patient.PatientCommunicationComponent;
|
import org.hl7.fhir.dstu3.model.Patient.PatientCommunicationComponent;
|
||||||
import org.hl7.fhir.dstu3.utils.FluentPathEngine;
|
import org.hl7.fhir.dstu3.utils.FluentPathEngine;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.instance.model.api.IBase;
|
import org.hl7.fhir.instance.model.api.IBase;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||||
|
|
|
@ -59,6 +59,22 @@ public class FhirResourceDaoDstu3ValidateTest extends BaseJpaDstu3Test {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testValidateDocument() throws Exception {
|
||||||
|
String input = IOUtils.toString(getClass().getResourceAsStream("/document-bundle-dstu3.json"), StandardCharsets.UTF_8);
|
||||||
|
Bundle document = myFhirCtx.newJsonParser().parseResource(Bundle.class, input);
|
||||||
|
|
||||||
|
|
||||||
|
ourLog.info("Starting validation");
|
||||||
|
try {
|
||||||
|
MethodOutcome outcome = myBundleDao.validate(document, null, null, null, ValidationModeEnum.CREATE, null, mySrd);
|
||||||
|
} catch (PreconditionFailedException e) {
|
||||||
|
ourLog.info(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(e.getOperationOutcome()));
|
||||||
|
}
|
||||||
|
ourLog.info("Done validation");
|
||||||
|
|
||||||
|
// ourLog.info(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getOperationOutcome()));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"resourceType": "Bundle",
|
||||||
|
"type": "document",
|
||||||
|
"entry": [
|
||||||
|
{
|
||||||
|
"resource": {
|
||||||
|
"resourceType": "Composition",
|
||||||
|
"author": [
|
||||||
|
{
|
||||||
|
"display": "Jane C. Jackson"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"date": "2016-09-02T20:59:41Z",
|
||||||
|
"status": "final",
|
||||||
|
"subject": {
|
||||||
|
"reference": "Patient/1000"
|
||||||
|
},
|
||||||
|
"title": "Test evaluation",
|
||||||
|
"type": {
|
||||||
|
"coding": [
|
||||||
|
{
|
||||||
|
"code": "intake-exam",
|
||||||
|
"display": "Intake Exam",
|
||||||
|
"system": "http://test.org"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,61 +1,29 @@
|
||||||
package org.hl7.fhir.dstu3.utils;
|
package org.hl7.fhir.dstu3.conformance;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
|
import org.hl7.fhir.dstu3.conformance.ProfileUtilities.ProfileKnowledgeProvider.BindingResolution;
|
||||||
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.elementmodel.ObjectConverter;
|
import org.hl7.fhir.dstu3.elementmodel.ObjectConverter;
|
||||||
import org.hl7.fhir.dstu3.elementmodel.Property;
|
import org.hl7.fhir.dstu3.elementmodel.Property;
|
||||||
import org.hl7.fhir.dstu3.exceptions.DefinitionException;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
import org.hl7.fhir.dstu3.formats.IParser;
|
import org.hl7.fhir.dstu3.formats.IParser;
|
||||||
import org.hl7.fhir.dstu3.model.Base;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.BooleanType;
|
import org.hl7.fhir.dstu3.model.ElementDefinition.*;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.dstu3.model.Coding;
|
|
||||||
import org.hl7.fhir.dstu3.model.Element;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.Extension;
|
|
||||||
import org.hl7.fhir.dstu3.model.Factory;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.AggregationMode;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionBindingComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionConstraintComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionMappingComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.ElementDefinitionSlicingComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.SlicingRules;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Enumeration;
|
import org.hl7.fhir.dstu3.model.Enumeration;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.BindingStrength;
|
import org.hl7.fhir.dstu3.model.Enumerations.BindingStrength;
|
||||||
import org.hl7.fhir.dstu3.model.IntegerType;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
||||||
import org.hl7.fhir.dstu3.model.PrimitiveType;
|
import org.hl7.fhir.dstu3.model.StructureDefinition.*;
|
||||||
import org.hl7.fhir.dstu3.model.Reference;
|
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
|
||||||
import org.hl7.fhir.dstu3.model.ResourceFactory;
|
|
||||||
import org.hl7.fhir.dstu3.model.StringType;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionDifferentialComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionMappingComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionSnapshotComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Type;
|
|
||||||
import org.hl7.fhir.dstu3.model.UriType;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.TypeDerivationRule;
|
|
||||||
import org.hl7.fhir.dstu3.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
|
import org.hl7.fhir.dstu3.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
|
||||||
import org.hl7.fhir.dstu3.utils.ProfileUtilities.ProfileKnowledgeProvider.BindingResolution;
|
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
||||||
import org.hl7.fhir.dstu3.validation.ValidationMessage;
|
import org.hl7.fhir.dstu3.validation.ValidationMessage;
|
||||||
import org.hl7.fhir.dstu3.validation.ValidationMessage.Source;
|
import org.hl7.fhir.dstu3.validation.ValidationMessage.Source;
|
||||||
|
import org.hl7.fhir.exceptions.DefinitionException;
|
||||||
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.utilities.CommaSeparatedStringBuilder;
|
import org.hl7.fhir.utilities.CommaSeparatedStringBuilder;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator;
|
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator;
|
||||||
|
@ -75,8 +43,10 @@ import org.hl7.fhir.utilities.xml.SchematronWriter.Section;
|
||||||
* * getChildMap --?
|
* * getChildMap --?
|
||||||
* * getChildList
|
* * getChildList
|
||||||
* * generateSnapshot: Given a base (snapshot) profile structure, and a differential profile, generate a new snapshot profile
|
* * generateSnapshot: Given a base (snapshot) profile structure, and a differential profile, generate a new snapshot profile
|
||||||
|
* * closeDifferential: fill out a differential by excluding anything not mentioned
|
||||||
* * generateExtensionsTable: generate the HTML for a hierarchical table presentation of the extensions
|
* * generateExtensionsTable: generate the HTML for a hierarchical table presentation of the extensions
|
||||||
* * generateTable: generate the HTML for a hierarchical table presentation of a structure
|
* * generateTable: generate the HTML for a hierarchical table presentation of a structure
|
||||||
|
* * generateSpanningTable: generate the HTML for a table presentation of a network of structures, starting at a nominated point
|
||||||
* * summarise: describe the contents of a profile
|
* * summarise: describe the contents of a profile
|
||||||
* @author Grahame
|
* @author Grahame
|
||||||
*
|
*
|
||||||
|
@ -178,7 +148,7 @@ public class ProfileUtilities {
|
||||||
boolean isResource(String typeSimple);
|
boolean isResource(String typeSimple);
|
||||||
boolean hasLinkFor(String typeSimple);
|
boolean hasLinkFor(String typeSimple);
|
||||||
String getLinkFor(String corePath, String typeSimple);
|
String getLinkFor(String corePath, String typeSimple);
|
||||||
BindingResolution resolveBinding(StructureDefinition def, ElementDefinitionBindingComponent binding);
|
BindingResolution resolveBinding(StructureDefinition def, ElementDefinitionBindingComponent binding, String path);
|
||||||
String getLinkForProfile(StructureDefinition profile, String url);
|
String getLinkForProfile(StructureDefinition profile, String url);
|
||||||
boolean prependLinks();
|
boolean prependLinks();
|
||||||
}
|
}
|
||||||
|
@ -205,9 +175,9 @@ public class ProfileUtilities {
|
||||||
res.add(e);
|
res.add(e);
|
||||||
} else
|
} else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -307,11 +277,12 @@ public class ProfileUtilities {
|
||||||
throw new Error("type on first differential element!");
|
throw new Error("type on first differential element!");
|
||||||
|
|
||||||
// we actually delegate the work to a subroutine so we can re-enter it with a different cursors
|
// we actually delegate the work to a subroutine so we can re-enter it with a different cursors
|
||||||
processPaths(derived.getSnapshot(), base.getSnapshot(), derived.getDifferential(), baseCursor, diffCursor, base.getSnapshot().getElement().size()-1, derived.getDifferential().getElement().size()-1, url, derived.getId(), null, false, base.getUrl(), null, false);
|
processPaths(derived.getSnapshot(), base.getSnapshot(), derived.getDifferential(), baseCursor, diffCursor, base.getSnapshot().getElement().size()-1,
|
||||||
|
derived.getDifferential().getElement().size()-1, url, derived.getId(), null, null, false, base.getUrl(), null, false);
|
||||||
if (!derived.getSnapshot().getElementFirstRep().getType().isEmpty())
|
if (!derived.getSnapshot().getElementFirstRep().getType().isEmpty())
|
||||||
throw new Error("type on first snapshot element!");
|
throw new Error("type on first snapshot element for "+derived.getSnapshot().getElementFirstRep().getPath()+" in "+derived.getUrl()+" from "+base.getUrl());
|
||||||
updateMaps(base, derived);
|
updateMaps(base, derived);
|
||||||
setIds(derived, derived.getName());
|
setIds(derived, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -320,13 +291,13 @@ public class ProfileUtilities {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private void processPaths(StructureDefinitionSnapshotComponent result, StructureDefinitionSnapshotComponent base, StructureDefinitionDifferentialComponent differential, int baseCursor, int diffCursor, int baseLimit,
|
private void processPaths(StructureDefinitionSnapshotComponent result, StructureDefinitionSnapshotComponent base, StructureDefinitionDifferentialComponent differential, int baseCursor, int diffCursor, int baseLimit,
|
||||||
int diffLimit, String url, String profileName, String contextPath, boolean trimDifferential, String contextName, String resultPathBase, boolean slicingDone) throws DefinitionException, FHIRException {
|
int diffLimit, String url, String profileName, String contextPathSrc, String contextPathDst, boolean trimDifferential, String contextName, String resultPathBase, boolean slicingDone) throws DefinitionException, FHIRException {
|
||||||
|
|
||||||
// just repeat processing entries until we run out of our allowed scope (1st entry, the allowed scope is all the entries)
|
// just repeat processing entries until we run out of our allowed scope (1st entry, the allowed scope is all the entries)
|
||||||
while (baseCursor <= baseLimit) {
|
while (baseCursor <= baseLimit) {
|
||||||
// get the current focus of the base, and decide what to do
|
// get the current focus of the base, and decide what to do
|
||||||
ElementDefinition currentBase = base.getElement().get(baseCursor);
|
ElementDefinition currentBase = base.getElement().get(baseCursor);
|
||||||
String cpath = fixedPath(contextPath, currentBase.getPath());
|
String cpath = fixedPath(contextPathSrc, currentBase.getPath());
|
||||||
List<ElementDefinition> diffMatches = getDiffMatches(differential, cpath, diffCursor, diffLimit, profileName, url); // get a list of matching elements in scope
|
List<ElementDefinition> diffMatches = getDiffMatches(differential, cpath, diffCursor, diffLimit, profileName, url); // get a list of matching elements in scope
|
||||||
|
|
||||||
// in the simple case, source is not sliced.
|
// in the simple case, source is not sliced.
|
||||||
|
@ -334,7 +305,7 @@ public class ProfileUtilities {
|
||||||
if (diffMatches.isEmpty()) { // the differential doesn't say anything about this item
|
if (diffMatches.isEmpty()) { // the differential doesn't say anything about this item
|
||||||
// so we just copy it in
|
// so we just copy it in
|
||||||
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
markDerived(outcome);
|
markDerived(outcome);
|
||||||
if (resultPathBase == null)
|
if (resultPathBase == null)
|
||||||
|
@ -370,7 +341,7 @@ public class ProfileUtilities {
|
||||||
// some of what's in currentBase overrides template
|
// some of what's in currentBase overrides template
|
||||||
template = overWriteWithCurrent(template, currentBase);
|
template = overWriteWithCurrent(template, currentBase);
|
||||||
ElementDefinition outcome = updateURLs(url, template);
|
ElementDefinition outcome = updateURLs(url, template);
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
if (diffMatches.get(0).hasName())
|
if (diffMatches.get(0).hasName())
|
||||||
outcome.setName(diffMatches.get(0).getName());
|
outcome.setName(diffMatches.get(0).getName());
|
||||||
|
@ -397,7 +368,7 @@ public class ProfileUtilities {
|
||||||
while (differential.getElement().size() > diffCursor && pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+"."))
|
while (differential.getElement().size() > diffCursor && pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+"."))
|
||||||
diffCursor++;
|
diffCursor++;
|
||||||
processPaths(result, dt.getSnapshot(), differential, 1 /* starting again on the data type, but skip the root */, start-1, dt.getSnapshot().getElement().size()-1,
|
processPaths(result, dt.getSnapshot(), differential, 1 /* starting again on the data type, but skip the root */, start-1, dt.getSnapshot().getElement().size()-1,
|
||||||
diffCursor - 1, url, profileName+pathTail(diffMatches, 0), diffMatches.get(0).getPath(), trimDifferential, contextName, resultPathBase, false);
|
diffCursor - 1, url, profileName+pathTail(diffMatches, 0), diffMatches.get(0).getPath(), outcome.getPath(), trimDifferential, contextName, resultPathBase, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -405,14 +376,14 @@ public class ProfileUtilities {
|
||||||
if (!unbounded(currentBase) && !isSlicedToOneOnly(diffMatches.get(0)))
|
if (!unbounded(currentBase) && !isSlicedToOneOnly(diffMatches.get(0)))
|
||||||
// you can only slice an element that doesn't repeat if the sum total of your slices is limited to 1
|
// you can only slice an element that doesn't repeat if the sum total of your slices is limited to 1
|
||||||
// (but you might do that in order to split up constraints by type)
|
// (but you might do that in order to split up constraints by type)
|
||||||
throw new DefinitionException("Attempt to a slice an element that does not repeat: "+currentBase.getPath()+"/"+currentBase.getName()+" from "+contextName);
|
throw new DefinitionException("Attempt to a slice an element that does not repeat: "+currentBase.getPath()+"/"+currentBase.getName()+" from "+contextName+" in "+url);
|
||||||
if (!diffMatches.get(0).hasSlicing() && !isExtension(currentBase)) // well, the diff has set up a slice, but hasn't defined it. this is an error
|
if (!diffMatches.get(0).hasSlicing() && !isExtension(currentBase)) // well, the diff has set up a slice, but hasn't defined it. this is an error
|
||||||
throw new DefinitionException("differential does not have a slice: "+currentBase.getPath());
|
throw new DefinitionException("differential does not have a slice: "+currentBase.getPath()+" in profile "+url);
|
||||||
|
|
||||||
// well, if it passed those preconditions then we slice the dest.
|
// well, if it passed those preconditions then we slice the dest.
|
||||||
// we're just going to accept the differential slicing at face value
|
// we're just going to accept the differential slicing at face value
|
||||||
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
|
|
||||||
if (!diffMatches.get(0).hasSlicing())
|
if (!diffMatches.get(0).hasSlicing())
|
||||||
|
@ -444,7 +415,7 @@ public class ProfileUtilities {
|
||||||
ndc = differential.getElement().indexOf(diffMatches.get(i));
|
ndc = differential.getElement().indexOf(diffMatches.get(i));
|
||||||
ndl = findEndOfElement(differential, ndc);
|
ndl = findEndOfElement(differential, ndc);
|
||||||
// now we process the base scope repeatedly for each instance of the item in the differential list
|
// now we process the base scope repeatedly for each instance of the item in the differential list
|
||||||
processPaths(result, base, differential, baseCursor, ndc, nbl, ndl, url, profileName+pathTail(diffMatches, i), contextPath, trimDifferential, contextName, resultPathBase, true);
|
processPaths(result, base, differential, baseCursor, ndc, nbl, ndl, url, profileName+pathTail(diffMatches, i), contextPathSrc, contextPathDst, trimDifferential, contextName, resultPathBase, true);
|
||||||
}
|
}
|
||||||
// ok, done with that - next in the base list
|
// ok, done with that - next in the base list
|
||||||
baseCursor = nbl+1;
|
baseCursor = nbl+1;
|
||||||
|
@ -466,7 +437,7 @@ public class ProfileUtilities {
|
||||||
// copy across the currentbase, and all of its children and siblings
|
// copy across the currentbase, and all of its children and siblings
|
||||||
while (baseCursor < base.getElement().size() && base.getElement().get(baseCursor).getPath().startsWith(path)) {
|
while (baseCursor < base.getElement().size() && base.getElement().get(baseCursor).getPath().startsWith(path)) {
|
||||||
ElementDefinition outcome = updateURLs(url, base.getElement().get(baseCursor).copy());
|
ElementDefinition outcome = updateURLs(url, base.getElement().get(baseCursor).copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
if (!outcome.getPath().startsWith(resultPathBase))
|
if (!outcome.getPath().startsWith(resultPathBase))
|
||||||
throw new DefinitionException("Adding wrong path in profile " + profileName + ": "+outcome.getPath()+" vs " + resultPathBase);
|
throw new DefinitionException("Adding wrong path in profile " + profileName + ": "+outcome.getPath()+" vs " + resultPathBase);
|
||||||
result.getElement().add(outcome); // so we just copy it in
|
result.getElement().add(outcome); // so we just copy it in
|
||||||
|
@ -490,7 +461,7 @@ public class ProfileUtilities {
|
||||||
throw new DefinitionException("Slicing rules on differential ("+summariseSlicing(dSlice)+") do not match those on base ("+summariseSlicing(bSlice)+") - rule @ "+path+" ("+contextName+")");
|
throw new DefinitionException("Slicing rules on differential ("+summariseSlicing(dSlice)+") do not match those on base ("+summariseSlicing(bSlice)+") - rule @ "+path+" ("+contextName+")");
|
||||||
}
|
}
|
||||||
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
ElementDefinition outcome = updateURLs(url, currentBase.copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
if (diffMatches.get(0).hasSlicing() && !isExtension) {
|
if (diffMatches.get(0).hasSlicing() && !isExtension) {
|
||||||
updateFromSlicing(outcome.getSlicing(), diffMatches.get(0).getSlicing());
|
updateFromSlicing(outcome.getSlicing(), diffMatches.get(0).getSlicing());
|
||||||
|
@ -507,7 +478,7 @@ public class ProfileUtilities {
|
||||||
baseCursor = base.getElement().indexOf(baseItem);
|
baseCursor = base.getElement().indexOf(baseItem);
|
||||||
outcome = updateURLs(url, baseItem.copy());
|
outcome = updateURLs(url, baseItem.copy());
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
outcome.setSlicing(null);
|
outcome.setSlicing(null);
|
||||||
if (!outcome.getPath().startsWith(resultPathBase))
|
if (!outcome.getPath().startsWith(resultPathBase))
|
||||||
throw new DefinitionException("Adding wrong path");
|
throw new DefinitionException("Adding wrong path");
|
||||||
|
@ -519,7 +490,7 @@ public class ProfileUtilities {
|
||||||
int ndc = differential.getElement().indexOf(diffMatches.get(diffpos));
|
int ndc = differential.getElement().indexOf(diffMatches.get(diffpos));
|
||||||
int ndl = findEndOfElement(differential, ndc);
|
int ndl = findEndOfElement(differential, ndc);
|
||||||
// now we process the base scope repeatedly for each instance of the item in the differential list
|
// now we process the base scope repeatedly for each instance of the item in the differential list
|
||||||
processPaths(result, base, differential, baseCursor, ndc, nbl, ndl, url, profileName+pathTail(diffMatches, diffpos), contextPath, closed, contextName, resultPathBase, true);
|
processPaths(result, base, differential, baseCursor, ndc, nbl, ndl, url, profileName+pathTail(diffMatches, diffpos), contextPathSrc, contextPathDst, closed, contextName, resultPathBase, true);
|
||||||
// ok, done with that - now set the cursors for if this is the end
|
// ok, done with that - now set the cursors for if this is the end
|
||||||
baseCursor = nbl+1;
|
baseCursor = nbl+1;
|
||||||
diffCursor = ndl+1;
|
diffCursor = ndl+1;
|
||||||
|
@ -530,7 +501,7 @@ public class ProfileUtilities {
|
||||||
// just copy any children on the base
|
// just copy any children on the base
|
||||||
while (baseCursor < base.getElement().size() && base.getElement().get(baseCursor).getPath().startsWith(path) && !base.getElement().get(baseCursor).getPath().equals(path)) {
|
while (baseCursor < base.getElement().size() && base.getElement().get(baseCursor).getPath().startsWith(path) && !base.getElement().get(baseCursor).getPath().equals(path)) {
|
||||||
outcome = updateURLs(url, base.getElement().get(baseCursor).copy());
|
outcome = updateURLs(url, base.getElement().get(baseCursor).copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
if (!outcome.getPath().startsWith(resultPathBase))
|
if (!outcome.getPath().startsWith(resultPathBase))
|
||||||
throw new DefinitionException("Adding wrong path");
|
throw new DefinitionException("Adding wrong path");
|
||||||
result.getElement().add(outcome);
|
result.getElement().add(outcome);
|
||||||
|
@ -547,7 +518,7 @@ public class ProfileUtilities {
|
||||||
if (baseItem.getName().equals(diffItem.getName()))
|
if (baseItem.getName().equals(diffItem.getName()))
|
||||||
throw new DefinitionException("Named items are out of order in the slice");
|
throw new DefinitionException("Named items are out of order in the slice");
|
||||||
outcome = updateURLs(url, original.copy());
|
outcome = updateURLs(url, original.copy());
|
||||||
outcome.setPath(fixedPath(contextPath, outcome.getPath()));
|
outcome.setPath(fixedPath(contextPathDst, outcome.getPath()));
|
||||||
updateFromBase(outcome, currentBase);
|
updateFromBase(outcome, currentBase);
|
||||||
outcome.setSlicing(null);
|
outcome.setSlicing(null);
|
||||||
if (!outcome.getPath().startsWith(resultPathBase))
|
if (!outcome.getPath().startsWith(resultPathBase))
|
||||||
|
@ -556,8 +527,9 @@ public class ProfileUtilities {
|
||||||
updateFromDefinition(outcome, diffItem, profileName, trimDifferential, url);
|
updateFromDefinition(outcome, diffItem, profileName, trimDifferential, url);
|
||||||
// --- LM Added this
|
// --- LM Added this
|
||||||
diffCursor = differential.getElement().indexOf(diffItem)+1;
|
diffCursor = differential.getElement().indexOf(diffItem)+1;
|
||||||
if (differential.getElement().size() > diffCursor && outcome.getPath().contains(".") && isDataType(outcome.getType())) { // don't want to do this for the root, since that's base, and we're already processing it
|
if ((outcome.getType().get(0).getCode().equals("Extension") || differential.getElement().size() > diffCursor) && outcome.getPath().contains(".") && isDataType(outcome.getType())) { // don't want to do this for the root, since that's base, and we're already processing it
|
||||||
if (pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+".") && !baseWalksInto(base.getElement(), baseCursor)) {
|
if (!baseWalksInto(base.getElement(), baseCursor)) {
|
||||||
|
if (differential.getElement().size() > diffCursor && pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+".")) {
|
||||||
if (outcome.getType().size() > 1)
|
if (outcome.getType().size() > 1)
|
||||||
throw new DefinitionException(diffMatches.get(0).getPath()+" has children ("+differential.getElement().get(diffCursor).getPath()+") and multiple types ("+typeCode(outcome.getType())+") in profile "+profileName);
|
throw new DefinitionException(diffMatches.get(0).getPath()+" has children ("+differential.getElement().get(diffCursor).getPath()+") and multiple types ("+typeCode(outcome.getType())+") in profile "+profileName);
|
||||||
StructureDefinition dt = getProfileForDataType(outcome.getType().get(0));
|
StructureDefinition dt = getProfileForDataType(outcome.getType().get(0));
|
||||||
|
@ -568,7 +540,19 @@ public class ProfileUtilities {
|
||||||
while (differential.getElement().size() > diffCursor && pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+"."))
|
while (differential.getElement().size() > diffCursor && pathStartsWith(differential.getElement().get(diffCursor).getPath(), diffMatches.get(0).getPath()+"."))
|
||||||
diffCursor++;
|
diffCursor++;
|
||||||
processPaths(result, dt.getSnapshot(), differential, 1 /* starting again on the data type, but skip the root */, start-1, dt.getSnapshot().getElement().size()-1,
|
processPaths(result, dt.getSnapshot(), differential, 1 /* starting again on the data type, but skip the root */, start-1, dt.getSnapshot().getElement().size()-1,
|
||||||
diffCursor - 1, url, profileName+pathTail(diffMatches, 0), diffMatches.get(0).getPath(), trimDifferential, contextName, resultPathBase, false);
|
diffCursor - 1, url, profileName+pathTail(diffMatches, 0), diffMatches.get(0).getPath(), outcome.getPath(), trimDifferential, contextName, resultPathBase, false);
|
||||||
|
} else if (outcome.getType().get(0).getCode().equals("Extension")) {
|
||||||
|
// Force URL to appear if we're dealing with an extension. (This is a kludge - may need to drill down in other cases where we're slicing and the type has a profile declaration that could be setting the fixed value)
|
||||||
|
StructureDefinition dt = getProfileForDataType(outcome.getType().get(0));
|
||||||
|
for (ElementDefinition extEd : dt.getSnapshot().getElement()) {
|
||||||
|
ElementDefinition extUrlEd = updateURLs(url, extEd.copy());
|
||||||
|
extUrlEd.setPath(fixedPath(contextPathDst, extUrlEd.getPath()));
|
||||||
|
updateFromBase(extUrlEd, currentBase);
|
||||||
|
markDerived(extUrlEd);
|
||||||
|
result.getElement().add(extUrlEd);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ---
|
// ---
|
||||||
|
@ -854,8 +838,15 @@ public class ProfileUtilities {
|
||||||
for (int i = start; i <= end; i++) {
|
for (int i = start; i <= end; i++) {
|
||||||
String statedPath = context.getElement().get(i).getPath();
|
String statedPath = context.getElement().get(i).getPath();
|
||||||
if (statedPath.equals(path) || (path.endsWith("[x]") && statedPath.length() > path.length() - 2 && statedPath.substring(0, path.length()-3).equals(path.substring(0, path.length()-3)) && !statedPath.substring(path.length()).contains("."))) {
|
if (statedPath.equals(path) || (path.endsWith("[x]") && statedPath.length() > path.length() - 2 && statedPath.substring(0, path.length()-3).equals(path.substring(0, path.length()-3)) && !statedPath.substring(path.length()).contains("."))) {
|
||||||
|
/*
|
||||||
|
* Commenting this out because it raises warnings when profiling inherited elements. For example,
|
||||||
|
* Error: unknown element 'Bundle.meta.profile' (or it is out of order) in profile ... (looking for 'Bundle.entry')
|
||||||
|
* Not sure we have enough information here to do the check properly. Might be better done when we're sorting the profile?
|
||||||
|
|
||||||
if (i != start && result.isEmpty() && !path.startsWith(context.getElement().get(start).getPath()))
|
if (i != start && result.isEmpty() && !path.startsWith(context.getElement().get(start).getPath()))
|
||||||
messages.add(new ValidationMessage(Source.ProfileValidator, IssueType.VALUE, "StructureDefinition.differential.element["+Integer.toString(start)+"]", "Error: unknown element '"+context.getElement().get(start).getPath()+"' (or it is out of order) in profile '"+url+"' (looking for '"+path+"')", IssueSeverity.WARNING));
|
messages.add(new ValidationMessage(Source.ProfileValidator, IssueType.VALUE, "StructureDefinition.differential.element["+Integer.toString(start)+"]", "Error: unknown element '"+context.getElement().get(start).getPath()+"' (or it is out of order) in profile '"+url+"' (looking for '"+path+"')", IssueSeverity.WARNING));
|
||||||
|
|
||||||
|
*/
|
||||||
result.add(context.getElement().get(i));
|
result.add(context.getElement().get(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1207,6 +1198,89 @@ public class ProfileUtilities {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void closeDifferential(StructureDefinition base, StructureDefinition derived) throws FHIRException {
|
||||||
|
for (ElementDefinition edb : base.getSnapshot().getElement()) {
|
||||||
|
if (isImmediateChild(edb) && !edb.getPath().endsWith(".id")) {
|
||||||
|
ElementDefinition edm = getMatchInDerived(edb, derived.getDifferential().getElement());
|
||||||
|
if (edm == null) {
|
||||||
|
ElementDefinition edd = derived.getDifferential().addElement();
|
||||||
|
edd.setPath(edb.getPath());
|
||||||
|
edd.setMax("0");
|
||||||
|
} else if (edb.hasSlicing()) {
|
||||||
|
closeChildren(base, edb, derived, edm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sortDifferential(base, derived, derived.getName(), new ArrayList<String>());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void closeChildren(StructureDefinition base, ElementDefinition edb, StructureDefinition derived, ElementDefinition edm) {
|
||||||
|
String path = edb.getPath()+".";
|
||||||
|
int baseStart = base.getSnapshot().getElement().indexOf(edb);
|
||||||
|
int baseEnd = findEnd(base.getSnapshot().getElement(), edb, baseStart+1);
|
||||||
|
int diffStart = derived.getDifferential().getElement().indexOf(edm);
|
||||||
|
int diffEnd = findEnd(derived.getDifferential().getElement(), edm, diffStart+1);
|
||||||
|
|
||||||
|
for (int cBase = baseStart; cBase < baseEnd; cBase++) {
|
||||||
|
ElementDefinition edBase = base.getSnapshot().getElement().get(cBase);
|
||||||
|
if (isImmediateChild(edBase, edb)) {
|
||||||
|
ElementDefinition edMatch = getMatchInDerived(edBase, derived.getDifferential().getElement(), diffStart, diffEnd);
|
||||||
|
if (edMatch == null) {
|
||||||
|
ElementDefinition edd = derived.getDifferential().addElement();
|
||||||
|
edd.setPath(edBase.getPath());
|
||||||
|
edd.setMax("0");
|
||||||
|
} else {
|
||||||
|
closeChildren(base, edBase, derived, edMatch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private int findEnd(List<ElementDefinition> list, ElementDefinition ed, int cursor) {
|
||||||
|
String path = ed.getPath()+".";
|
||||||
|
while (cursor < list.size() && list.get(cursor).getPath().startsWith(path))
|
||||||
|
cursor++;
|
||||||
|
return cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ElementDefinition getMatchInDerived(ElementDefinition ed, List<ElementDefinition> list) {
|
||||||
|
for (ElementDefinition t : list)
|
||||||
|
if (t.getPath().equals(ed.getPath()))
|
||||||
|
return t;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private ElementDefinition getMatchInDerived(ElementDefinition ed, List<ElementDefinition> list, int start, int end) {
|
||||||
|
for (int i = start; i < end; i++) {
|
||||||
|
ElementDefinition t = list.get(i);
|
||||||
|
if (t.getPath().equals(ed.getPath()))
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean isImmediateChild(ElementDefinition ed) {
|
||||||
|
String p = ed.getPath();
|
||||||
|
if (!p.contains("."))
|
||||||
|
return false;
|
||||||
|
p = p.substring(p.indexOf(".")+1);
|
||||||
|
return !p.contains(".");
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isImmediateChild(ElementDefinition candidate, ElementDefinition base) {
|
||||||
|
String p = candidate.getPath();
|
||||||
|
if (!p.contains("."))
|
||||||
|
return false;
|
||||||
|
if (!p.startsWith(base.getPath()+"."))
|
||||||
|
return false;
|
||||||
|
p = p.substring(base.getPath().length()+1);
|
||||||
|
return !p.contains(".");
|
||||||
|
}
|
||||||
|
|
||||||
public XhtmlNode generateExtensionTable(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, String imagePath) throws IOException, FHIRException {
|
public XhtmlNode generateExtensionTable(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, String imagePath) throws IOException, FHIRException {
|
||||||
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(imageFolder, inlineGraphics);
|
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(imageFolder, inlineGraphics);
|
||||||
|
@ -1426,9 +1500,9 @@ public class ProfileUtilities {
|
||||||
if (parts[0].startsWith("http:") || parts[0].startsWith("https:"))
|
if (parts[0].startsWith("http:") || parts[0].startsWith("https:"))
|
||||||
c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], parts[1], t.getCode())));
|
c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], parts[1], t.getCode())));
|
||||||
else
|
else
|
||||||
c.addPiece(checkForNoChange(t, gen.new Piece(corePath+parts[0], parts[1], t.getCode())));
|
c.addPiece(checkForNoChange(t, gen.new Piece((t.getProfile().startsWith(corePath)? corePath: "")+parts[0], parts[1], t.getCode())));
|
||||||
} else
|
} else
|
||||||
c.addPiece(checkForNoChange(t, gen.new Piece(corePath+ref, t.getCode(), null)));
|
c.addPiece(checkForNoChange(t, gen.new Piece((t.getProfile().startsWith(corePath)? corePath: "")+ref, t.getCode(), null)));
|
||||||
} else if (pkp.hasLinkFor(t.getCode())) {
|
} else if (pkp.hasLinkFor(t.getCode())) {
|
||||||
c.addPiece(checkForNoChange(t, gen.new Piece(pkp.getLinkFor(corePath, t.getCode()), t.getCode(), null)));
|
c.addPiece(checkForNoChange(t, gen.new Piece(pkp.getLinkFor(corePath, t.getCode()), t.getCode(), null)));
|
||||||
} else
|
} else
|
||||||
|
@ -1561,7 +1635,7 @@ public class ProfileUtilities {
|
||||||
List<ElementDefinition> list = diff ? profile.getDifferential().getElement() : profile.getSnapshot().getElement();
|
List<ElementDefinition> list = diff ? profile.getDifferential().getElement() : profile.getSnapshot().getElement();
|
||||||
List<StructureDefinition> profiles = new ArrayList<StructureDefinition>();
|
List<StructureDefinition> profiles = new ArrayList<StructureDefinition>();
|
||||||
profiles.add(profile);
|
profiles.add(profile);
|
||||||
genElement(defFile == null ? null : defFile+"#"+profile.getId()+".", gen, model.getRows(), list.get(0), list, profiles, diff, profileBaseFileName, null, snapshot, corePath, imagePath, true, logicalModel, profile.getDerivation() == TypeDerivationRule.CONSTRAINT && usesMustSupport(list));
|
genElement(defFile == null ? null : defFile+"#", gen, model.getRows(), list.get(0), list, profiles, diff, profileBaseFileName, null, snapshot, corePath, imagePath, true, logicalModel, profile.getDerivation() == TypeDerivationRule.CONSTRAINT && usesMustSupport(list));
|
||||||
try {
|
try {
|
||||||
return gen.generate(model, imagePath);
|
return gen.generate(model, imagePath);
|
||||||
} catch (org.hl7.fhir.exceptions.FHIRException e) {
|
} catch (org.hl7.fhir.exceptions.FHIRException e) {
|
||||||
|
@ -1619,7 +1693,7 @@ public class ProfileUtilities {
|
||||||
row.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
row.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
||||||
else
|
else
|
||||||
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||||
String ref = defPath == null ? null : defPath + makePathLink(element);
|
String ref = defPath == null ? null : defPath + element.getId();
|
||||||
UnusedTracker used = new UnusedTracker();
|
UnusedTracker used = new UnusedTracker();
|
||||||
used.used = true;
|
used.used = true;
|
||||||
Cell left = gen.new Cell(null, ref, s, !hasDef ? null : element.getDefinition(), null);
|
Cell left = gen.new Cell(null, ref, s, !hasDef ? null : element.getDefinition(), null);
|
||||||
|
@ -1788,16 +1862,6 @@ public class ProfileUtilities {
|
||||||
&& element.getSlicing().getRules() != SlicingRules.CLOSED && element.getSlicing().getDiscriminator().size() == 1 && element.getSlicing().getDiscriminator().get(0).getValue().equals("url");
|
&& element.getSlicing().getRules() != SlicingRules.CLOSED && element.getSlicing().getDiscriminator().size() == 1 && element.getSlicing().getDiscriminator().get(0).getValue().equals("url");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String makePathLink(ElementDefinition element) {
|
|
||||||
if (!element.hasName())
|
|
||||||
return element.getPath();
|
|
||||||
if (!element.getPath().contains("."))
|
|
||||||
return element.getName();
|
|
||||||
return element.getPath().substring(0, element.getPath().lastIndexOf("."))+"."+element.getName();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private Cell generateDescription(HierarchicalTableGenerator gen, Row row, ElementDefinition definition, ElementDefinition fallback, boolean used, String baseURL, String url, StructureDefinition profile, String corePath, String imagePath, boolean root, boolean logicalModel) throws IOException {
|
private Cell generateDescription(HierarchicalTableGenerator gen, Row row, ElementDefinition definition, ElementDefinition fallback, boolean used, String baseURL, String url, StructureDefinition profile, String corePath, String imagePath, boolean root, boolean logicalModel) throws IOException {
|
||||||
return generateDescription(gen, row, definition, fallback, used, baseURL, url, profile, corePath, imagePath, root, logicalModel, null);
|
return generateDescription(gen, row, definition, fallback, used, baseURL, url, profile, corePath, imagePath, root, logicalModel, null);
|
||||||
}
|
}
|
||||||
|
@ -1864,7 +1928,7 @@ public class ProfileUtilities {
|
||||||
if (binding!=null && !binding.isEmpty()) {
|
if (binding!=null && !binding.isEmpty()) {
|
||||||
if (!c.getPieces().isEmpty())
|
if (!c.getPieces().isEmpty())
|
||||||
c.addPiece(gen.new Piece("br"));
|
c.addPiece(gen.new Piece("br"));
|
||||||
BindingResolution br = pkp.resolveBinding(profile, binding);
|
BindingResolution br = pkp.resolveBinding(profile, binding, definition.getPath());
|
||||||
c.getPieces().add(checkForNoChange(binding, gen.new Piece(null, "Binding: ", null).addStyle("font-weight:bold")));
|
c.getPieces().add(checkForNoChange(binding, gen.new Piece(null, "Binding: ", null).addStyle("font-weight:bold")));
|
||||||
c.getPieces().add(checkForNoChange(binding, gen.new Piece(br.url == null ? null : Utilities.isAbsoluteUrl(br.url) || !pkp.prependLinks() ? br.url : corePath+br.url, br.display, null)));
|
c.getPieces().add(checkForNoChange(binding, gen.new Piece(br.url == null ? null : Utilities.isAbsoluteUrl(br.url) || !pkp.prependLinks() ? br.url : corePath+br.url, br.display, null)));
|
||||||
if (binding.hasStrength()) {
|
if (binding.hasStrength()) {
|
||||||
|
@ -2212,7 +2276,9 @@ public class ProfileUtilities {
|
||||||
throw new FHIRException("Unable to resolve profile " + "http://hl7.org/fhir/StructureDefinition/"+ed.getType().get(0).getCode() + " in element " + ed.getPath());
|
throw new FHIRException("Unable to resolve profile " + "http://hl7.org/fhir/StructureDefinition/"+ed.getType().get(0).getCode() + " in element " + ed.getPath());
|
||||||
ccmp = new ElementDefinitionComparer(false, profile.getSnapshot().getElement(), child.getSelf().getType().get(0).getCode(), child.getSelf().getPath().length(), cmp.name);
|
ccmp = new ElementDefinitionComparer(false, profile.getSnapshot().getElement(), child.getSelf().getType().get(0).getCode(), child.getSelf().getPath().length(), cmp.name);
|
||||||
} else if (ed.getPath().endsWith("[x]") && !child.getSelf().getPath().endsWith("[x]")) {
|
} else if (ed.getPath().endsWith("[x]") && !child.getSelf().getPath().endsWith("[x]")) {
|
||||||
String p = child.getSelf().getPath().substring(ed.getPath().length()-3);
|
String edLastNode = ed.getPath().replaceAll("(.*\\.)*(.*)", "$2");
|
||||||
|
String childLastNode = child.getSelf().getPath().replaceAll("(.*\\.)*(.*)", "$2");
|
||||||
|
String p = childLastNode.substring(edLastNode.length()-3);
|
||||||
StructureDefinition sd = context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+p);
|
StructureDefinition sd = context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+p);
|
||||||
if (sd == null)
|
if (sd == null)
|
||||||
throw new Error("Unable to find profile "+p);
|
throw new Error("Unable to find profile "+p);
|
||||||
|
@ -2286,6 +2352,7 @@ public class ProfileUtilities {
|
||||||
sch.dump();
|
sch.dump();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private class Slicer extends ElementDefinitionSlicingComponent {
|
private class Slicer extends ElementDefinitionSlicingComponent {
|
||||||
String criteria = "";
|
String criteria = "";
|
||||||
String name = "";
|
String name = "";
|
||||||
|
@ -2368,13 +2435,24 @@ public class ProfileUtilities {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setIds(StructureDefinition sd, String name) {
|
public void setIds(StructureDefinition sd, boolean checkFirst) throws DefinitionException {
|
||||||
generateIds(sd.getDifferential().getElement(), name);
|
if (!checkFirst || hasMissingIds(sd.getDifferential().getElement()))
|
||||||
generateIds(sd.getSnapshot().getElement(), name);
|
generateIds(sd.getDifferential().getElement(), sd.getName());
|
||||||
|
if (!checkFirst || hasMissingIds(sd.getSnapshot().getElement()))
|
||||||
|
generateIds(sd.getSnapshot().getElement(), sd.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void generateIds(List<ElementDefinition> list, String name) {
|
private boolean hasMissingIds(List<ElementDefinition> list) {
|
||||||
|
for (ElementDefinition ed : list) {
|
||||||
|
if (!ed.hasId())
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void generateIds(List<ElementDefinition> list, String name) throws DefinitionException {
|
||||||
if (list.isEmpty())
|
if (list.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2383,6 +2461,8 @@ public class ProfileUtilities {
|
||||||
List<String> paths = new ArrayList<String>();
|
List<String> paths = new ArrayList<String>();
|
||||||
// first pass, update the element ids
|
// first pass, update the element ids
|
||||||
for (ElementDefinition ed : list) {
|
for (ElementDefinition ed : list) {
|
||||||
|
if (!ed.hasPath())
|
||||||
|
throw new DefinitionException("No path on element Definition "+Integer.toString(list.indexOf(ed))+" in "+name);
|
||||||
int depth = charCount(ed.getPath(), '.');
|
int depth = charCount(ed.getPath(), '.');
|
||||||
String tail = tail(ed.getPath());
|
String tail = tail(ed.getPath());
|
||||||
|
|
||||||
|
@ -2399,8 +2479,9 @@ public class ProfileUtilities {
|
||||||
b.append(".");
|
b.append(".");
|
||||||
}
|
}
|
||||||
b.append(t);
|
b.append(t);
|
||||||
idMap.put(ed.hasId() ? ed.getId() : ed.getPath(), b.toString());
|
String bs = b.toString();
|
||||||
ed.setId(b.toString());
|
idMap.put(ed.hasId() ? ed.getId() : ed.getPath(), bs);
|
||||||
|
ed.setId(bs);
|
||||||
paths.add(t);
|
paths.add(t);
|
||||||
if (ed.hasContentReference()) {
|
if (ed.hasContentReference()) {
|
||||||
String s = ed.getContentReference().substring(1);
|
String s = ed.getContentReference().substring(1);
|
||||||
|
@ -2431,7 +2512,12 @@ public class ProfileUtilities {
|
||||||
//// throw new Exception("Illegal name "+name+": no '.'");
|
//// throw new Exception("Illegal name "+name+": no '.'");
|
||||||
// if (name.contains(" "))
|
// if (name.contains(" "))
|
||||||
// throw new Exception("Illegal name "+name+": no spaces");
|
// throw new Exception("Illegal name "+name+": no spaces");
|
||||||
return name.replace(".", "").replace(" ", "").replace(":", "").toLowerCase();
|
StringBuilder b = new StringBuilder();
|
||||||
|
for (char c : name.toCharArray()) {
|
||||||
|
if (!Utilities.existsInList(c, '.', ' ', ':', '"', '\'', '(', ')', '&', '[', ']'))
|
||||||
|
b.append(c);
|
||||||
|
}
|
||||||
|
return b.toString().toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2514,7 +2600,7 @@ public class ProfileUtilities {
|
||||||
List<ElementDefinition> children = getChildMap(profile, ed);
|
List<ElementDefinition> children = getChildMap(profile, ed);
|
||||||
for (ElementDefinition child : children) {
|
for (ElementDefinition child : children) {
|
||||||
if (child.getPath().endsWith(".id")) {
|
if (child.getPath().endsWith(".id")) {
|
||||||
org.hl7.fhir.dstu3.elementmodel.Element id = new org.hl7.fhir.dstu3.elementmodel.Element("id", new Property(context, ed, profile));
|
org.hl7.fhir.dstu3.elementmodel.Element id = new org.hl7.fhir.dstu3.elementmodel.Element("id", new Property(context, child, profile));
|
||||||
id.setValue(profile.getId()+accessor.getId());
|
id.setValue(profile.getId()+accessor.getId());
|
||||||
r.getChildren().add(id);
|
r.getChildren().add(id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2575,10 +2661,13 @@ public class ProfileUtilities {
|
||||||
|
|
||||||
public void populateLogicalSnapshot(StructureDefinition sd) throws FHIRException {
|
public void populateLogicalSnapshot(StructureDefinition sd) throws FHIRException {
|
||||||
sd.getSnapshot().getElement().add(sd.getDifferential().getElementFirstRep().copy());
|
sd.getSnapshot().getElement().add(sd.getDifferential().getElementFirstRep().copy());
|
||||||
|
|
||||||
|
if (sd.hasBaseDefinition()) {
|
||||||
StructureDefinition base = context.fetchResource(StructureDefinition.class, sd.getBaseDefinition());
|
StructureDefinition base = context.fetchResource(StructureDefinition.class, sd.getBaseDefinition());
|
||||||
if (base == null)
|
if (base == null)
|
||||||
throw new FHIRException("Unable to find base definition for logical model: "+sd.getBaseDefinition());
|
throw new FHIRException("Unable to find base definition for logical model: "+sd.getBaseDefinition()+" from "+sd.getUrl());
|
||||||
copyElements(sd, base.getSnapshot().getElement());
|
copyElements(sd, base.getSnapshot().getElement());
|
||||||
|
}
|
||||||
copyElements(sd, sd.getDifferential().getElement());
|
copyElements(sd, sd.getDifferential().getElement());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2591,7 +2680,340 @@ public class ProfileUtilities {
|
||||||
sd.getSnapshot().addElement(n);
|
sd.getSnapshot().addElement(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void cleanUpDifferential(StructureDefinition sd) {
|
||||||
|
if (sd.getDifferential().getElement().size() > 1)
|
||||||
|
cleanUpDifferential(sd, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cleanUpDifferential(StructureDefinition sd, int start) {
|
||||||
|
int level = Utilities.charCount(sd.getDifferential().getElement().get(start).getPath(), '.');
|
||||||
|
int c = start;
|
||||||
|
int len = sd.getDifferential().getElement().size();
|
||||||
|
HashSet<String> paths = new HashSet<String>();
|
||||||
|
while (c < len && Utilities.charCount(sd.getDifferential().getElement().get(c).getPath(), '.') == level) {
|
||||||
|
ElementDefinition ed = sd.getDifferential().getElement().get(c);
|
||||||
|
if (!paths.contains(ed.getPath())) {
|
||||||
|
paths.add(ed.getPath());
|
||||||
|
int ic = c+1;
|
||||||
|
while (ic < len && Utilities.charCount(sd.getDifferential().getElement().get(ic).getPath(), '.') > level)
|
||||||
|
ic++;
|
||||||
|
ElementDefinition slicer = null;
|
||||||
|
List<ElementDefinition> slices = new ArrayList<ElementDefinition>();
|
||||||
|
slices.add(ed);
|
||||||
|
while (ic < len && Utilities.charCount(sd.getDifferential().getElement().get(ic).getPath(), '.') == level) {
|
||||||
|
ElementDefinition edi = sd.getDifferential().getElement().get(ic);
|
||||||
|
if (ed.getPath().equals(edi.getPath())) {
|
||||||
|
if (slicer == null) {
|
||||||
|
slicer = new ElementDefinition();
|
||||||
|
slicer.setPath(edi.getPath());
|
||||||
|
slicer.getSlicing().setRules(SlicingRules.OPEN);
|
||||||
|
sd.getDifferential().getElement().add(c, slicer);
|
||||||
|
c++;
|
||||||
|
ic++;
|
||||||
|
}
|
||||||
|
slices.add(edi);
|
||||||
|
}
|
||||||
|
ic++;
|
||||||
|
while (ic < len && Utilities.charCount(sd.getDifferential().getElement().get(ic).getPath(), '.') > level)
|
||||||
|
ic++;
|
||||||
|
}
|
||||||
|
// now we're at the end, we're going to figure out the slicing discriminator
|
||||||
|
if (slicer != null)
|
||||||
|
determineSlicing(slicer, slices);
|
||||||
|
}
|
||||||
|
c++;
|
||||||
|
if (c < len && Utilities.charCount(sd.getDifferential().getElement().get(c).getPath(), '.') > level) {
|
||||||
|
cleanUpDifferential(sd, c);
|
||||||
|
c++;
|
||||||
|
while (c < len && Utilities.charCount(sd.getDifferential().getElement().get(c).getPath(), '.') > level)
|
||||||
|
c++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void determineSlicing(ElementDefinition slicer, List<ElementDefinition> slices) {
|
||||||
|
// first, name them
|
||||||
|
int i = 0;
|
||||||
|
for (ElementDefinition ed : slices) {
|
||||||
|
if (ed.hasUserData("slice-name")) {
|
||||||
|
ed.setName(ed.getUserString("slice-name"));
|
||||||
|
} else {
|
||||||
|
i++;
|
||||||
|
ed.setName("slice-"+Integer.toString(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// now, the hard bit, how are they differentiated?
|
||||||
|
// right now, we hard code this...
|
||||||
|
if (slicer.getPath().endsWith(".extension") || slicer.getPath().endsWith(".modifierExtension"))
|
||||||
|
slicer.getSlicing().addDiscriminator("url");
|
||||||
|
else if (slicer.getPath().equals("DiagnosticReport.result"))
|
||||||
|
slicer.getSlicing().addDiscriminator("reference.code");
|
||||||
|
else if (slicer.getPath().equals("Observation.related"))
|
||||||
|
slicer.getSlicing().addDiscriminator("target.reference.code");
|
||||||
|
else if (slicer.getPath().equals("Bundle.entry"))
|
||||||
|
slicer.getSlicing().addDiscriminator("resource.@profile");
|
||||||
|
else
|
||||||
|
throw new Error("No slicing for "+slicer.getPath());
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SpanEntry {
|
||||||
|
private List<SpanEntry> children = new ArrayList<SpanEntry>();
|
||||||
|
private boolean profile;
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
private String resType;
|
||||||
|
private String cardinality;
|
||||||
|
private String description;
|
||||||
|
private String profileLink;
|
||||||
|
private String resLink;
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
public String getResType() {
|
||||||
|
return resType;
|
||||||
|
}
|
||||||
|
public void setResType(String resType) {
|
||||||
|
this.resType = resType;
|
||||||
|
}
|
||||||
|
public String getCardinality() {
|
||||||
|
return cardinality;
|
||||||
|
}
|
||||||
|
public void setCardinality(String cardinality) {
|
||||||
|
this.cardinality = cardinality;
|
||||||
|
}
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
public String getProfileLink() {
|
||||||
|
return profileLink;
|
||||||
|
}
|
||||||
|
public void setProfileLink(String profileLink) {
|
||||||
|
this.profileLink = profileLink;
|
||||||
|
}
|
||||||
|
public String getResLink() {
|
||||||
|
return resLink;
|
||||||
|
}
|
||||||
|
public void setResLink(String resLink) {
|
||||||
|
this.resLink = resLink;
|
||||||
|
}
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
public boolean isProfile() {
|
||||||
|
return profile;
|
||||||
|
}
|
||||||
|
public void setProfile(boolean profile) {
|
||||||
|
this.profile = profile;
|
||||||
|
}
|
||||||
|
public List<SpanEntry> getChildren() {
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public XhtmlNode generateSpanningTable(StructureDefinition profile, String imageFolder, boolean onlyConstraints) throws IOException, FHIRException {
|
||||||
|
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(imageFolder, false);
|
||||||
|
TableModel model = initSpanningTable(gen, "", false);
|
||||||
|
Set<String> processed = new HashSet<String>();
|
||||||
|
SpanEntry span = buildSpanningTable("(focus)", "", profile, processed, onlyConstraints);
|
||||||
|
|
||||||
|
genSpanEntry(gen, model.getRows(), span);
|
||||||
|
return gen.generate(model, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
private SpanEntry buildSpanningTable(String name, String cardinality, StructureDefinition profile, Set<String> processed, boolean onlyConstraints) throws IOException {
|
||||||
|
SpanEntry res = buildSpanEntryFromProfile(name, cardinality, profile);
|
||||||
|
boolean wantProcess = !processed.contains(profile.getUrl());
|
||||||
|
processed.add(profile.getUrl());
|
||||||
|
if (wantProcess && profile.getDerivation() == TypeDerivationRule.CONSTRAINT) {
|
||||||
|
for (ElementDefinition ed : profile.getSnapshot().getElement()) {
|
||||||
|
if (!"0".equals(ed.getMax()) && ed.getType().size() > 0) {
|
||||||
|
String card = getCardinality(ed, profile.getSnapshot().getElement());
|
||||||
|
if (!card.endsWith(".0")) {
|
||||||
|
List<String> refProfiles = listReferenceProfiles(ed);
|
||||||
|
if (refProfiles.size() > 0) {
|
||||||
|
StructureDefinition sd = context.fetchResource(StructureDefinition.class, refProfiles.get(0));
|
||||||
|
if (sd != null && (!onlyConstraints || sd.getDerivation() == TypeDerivationRule.CONSTRAINT)) {
|
||||||
|
res.getChildren().add(buildSpanningTable(nameForElement(ed), card, sd, processed, onlyConstraints));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String getCardinality(ElementDefinition ed, List<ElementDefinition> list) {
|
||||||
|
int min = ed.getMin();
|
||||||
|
int max = ed.getMax().equals("*") ? Integer.MAX_VALUE : Integer.parseInt(ed.getMax());
|
||||||
|
while (ed != null && ed.getPath().contains(".")) {
|
||||||
|
ed = findParent(ed, list);
|
||||||
|
if (ed.getMax().equals("0"))
|
||||||
|
max = 0;
|
||||||
|
else if (!ed.getMax().equals("1") && !ed.hasSlicing())
|
||||||
|
max = Integer.MAX_VALUE;
|
||||||
|
if (ed.getMin() == 0)
|
||||||
|
min = 0;
|
||||||
|
}
|
||||||
|
return Integer.toString(min)+".."+(max == Integer.MAX_VALUE ? "*" : Integer.toString(max));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private ElementDefinition findParent(ElementDefinition ed, List<ElementDefinition> list) {
|
||||||
|
int i = list.indexOf(ed)-1;
|
||||||
|
while (i >= 0 && !ed.getPath().startsWith(list.get(i).getPath()+"."))
|
||||||
|
i--;
|
||||||
|
if (i == -1)
|
||||||
|
return null;
|
||||||
|
else
|
||||||
|
return list.get(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<String> listReferenceProfiles(ElementDefinition ed) {
|
||||||
|
List<String> res = new ArrayList<String>();
|
||||||
|
for (TypeRefComponent tr : ed.getType()) {
|
||||||
|
if (tr.getCode().equals("Reference"))
|
||||||
|
res.add(tr.getProfile());
|
||||||
|
}
|
||||||
|
return res ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String nameForElement(ElementDefinition ed) {
|
||||||
|
return ed.getPath().substring(ed.getPath().indexOf(".")+1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private SpanEntry buildSpanEntryFromProfile(String name, String cardinality, StructureDefinition profile) throws IOException {
|
||||||
|
SpanEntry res = new SpanEntry();
|
||||||
|
res.setName(name);
|
||||||
|
res.setCardinality(cardinality);
|
||||||
|
res.setProfileLink(profile.getUserString("path"));
|
||||||
|
res.setResType(profile.getType());
|
||||||
|
StructureDefinition base = context.fetchResource(StructureDefinition.class, res.getResType());
|
||||||
|
if (base != null)
|
||||||
|
res.setResLink(base.getUserString("path"));
|
||||||
|
res.setId(profile.getId());
|
||||||
|
res.setProfile(profile.getDerivation() == TypeDerivationRule.CONSTRAINT);
|
||||||
|
StringBuilder b = new StringBuilder();
|
||||||
|
b.append(res.getResType());
|
||||||
|
boolean first = true;
|
||||||
|
boolean open = false;
|
||||||
|
if (profile.getDerivation() == TypeDerivationRule.CONSTRAINT) {
|
||||||
|
res.setDescription(profile.getName());
|
||||||
|
for (ElementDefinition ed : profile.getSnapshot().getElement()) {
|
||||||
|
if (isKeyProperty(ed.getBase().getPath()) && ed.hasFixed()) {
|
||||||
|
if (first) {
|
||||||
|
open = true;
|
||||||
|
first = false;
|
||||||
|
b.append("[");
|
||||||
|
} else {
|
||||||
|
b.append(", ");
|
||||||
|
}
|
||||||
|
b.append(tail(ed.getBase().getPath()));
|
||||||
|
b.append("=");
|
||||||
|
b.append(summarise(ed.getFixed()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (open)
|
||||||
|
b.append("]");
|
||||||
|
} else
|
||||||
|
res.setDescription("Base FHIR "+profile.getName());
|
||||||
|
res.setType(b.toString());
|
||||||
|
return res ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String summarise(Type value) throws IOException {
|
||||||
|
if (value instanceof Coding)
|
||||||
|
return summariseCoding((Coding) value);
|
||||||
|
else if (value instanceof CodeableConcept)
|
||||||
|
return summariseCodeableConcept((CodeableConcept) value);
|
||||||
|
else
|
||||||
|
return buildJson(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String summariseCoding(Coding value) {
|
||||||
|
String uri = value.getSystem();
|
||||||
|
String system = ""; //NarrativeGenerator.describeSystem(uri);
|
||||||
|
if (Utilities.isURL(system)) {
|
||||||
|
if (system.equals("http://cap.org/protocols"))
|
||||||
|
system = "CAP Code";
|
||||||
|
}
|
||||||
|
return system+" "+value.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String summariseCodeableConcept(CodeableConcept value) {
|
||||||
|
if (value.hasCoding())
|
||||||
|
return summariseCoding(value.getCodingFirstRep());
|
||||||
|
else
|
||||||
|
return value.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean isKeyProperty(String path) {
|
||||||
|
return Utilities.existsInList(path, "Observation.code");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public TableModel initSpanningTable(HierarchicalTableGenerator gen, String prefix, boolean isLogical) {
|
||||||
|
TableModel model = gen.new TableModel();
|
||||||
|
|
||||||
|
model.setDocoImg(prefix+"help16.png");
|
||||||
|
model.setDocoRef(prefix+"igs.html#table");
|
||||||
|
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Property", "A profiled resource", null, 0));
|
||||||
|
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Card.", "Minimum and Maximum # of times the the element can appear in the instance", null, 0));
|
||||||
|
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Content", "What goes here", null, 0));
|
||||||
|
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Description", "Description of the profile", null, 0));
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void genSpanEntry(HierarchicalTableGenerator gen, List<Row> rows, SpanEntry span) throws IOException {
|
||||||
|
Row row = gen.new Row();
|
||||||
|
rows.add(row);
|
||||||
|
row.setAnchor(span.getId());
|
||||||
|
//row.setColor(..?);
|
||||||
|
if (span.isProfile())
|
||||||
|
row.setIcon("icon_profile.png", HierarchicalTableGenerator.TEXT_ICON_PROFILE);
|
||||||
|
else
|
||||||
|
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||||
|
|
||||||
|
row.getCells().add(gen.new Cell(null, null, span.getName(), null, null));
|
||||||
|
row.getCells().add(gen.new Cell(null, null, span.getCardinality(), null, null));
|
||||||
|
row.getCells().add(gen.new Cell(null, span.getProfileLink(), span.getType(), null, null));
|
||||||
|
row.getCells().add(gen.new Cell(null, null, span.getDescription(), null, null));
|
||||||
|
|
||||||
|
for (SpanEntry child : span.getChildren())
|
||||||
|
genSpanEntry(gen, row.getSubRows(), child);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,9 +1,10 @@
|
||||||
package org.hl7.fhir.dstu3.utils;
|
package org.hl7.fhir.dstu3.context;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.context.IWorkerContext.ILoggingService;
|
||||||
import org.hl7.fhir.dstu3.formats.IParser;
|
import org.hl7.fhir.dstu3.formats.IParser;
|
||||||
import org.hl7.fhir.dstu3.formats.ParserType;
|
import org.hl7.fhir.dstu3.formats.ParserType;
|
||||||
import org.hl7.fhir.dstu3.model.CodeableConcept;
|
import org.hl7.fhir.dstu3.model.CodeableConcept;
|
||||||
|
@ -19,8 +20,9 @@ import org.hl7.fhir.dstu3.model.CodeSystem;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
|
import org.hl7.fhir.dstu3.terminologies.ValueSetExpander.TerminologyServiceErrorClass;
|
||||||
import org.hl7.fhir.dstu3.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
|
import org.hl7.fhir.dstu3.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext.ILoggingService;
|
import org.hl7.fhir.dstu3.utils.INarrativeGenerator;
|
||||||
import org.hl7.fhir.dstu3.validation.IResourceValidator;
|
import org.hl7.fhir.dstu3.validation.IResourceValidator;
|
||||||
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
||||||
|
|
||||||
|
@ -46,8 +48,15 @@ import org.hl7.fhir.exceptions.TerminologyServiceException;
|
||||||
*/
|
*/
|
||||||
public interface IWorkerContext {
|
public interface IWorkerContext {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the versions of the definitions loaded in context
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getVersion();
|
||||||
|
|
||||||
// -- Parsers (read and write instances) ----------------------------------------
|
// -- Parsers (read and write instances) ----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a parser to read/write instances. Use the defined type (will be extended
|
* Get a parser to read/write instances. Use the defined type (will be extended
|
||||||
* as further types are added, though the only currently anticipate type is RDF)
|
* as further types are added, though the only currently anticipate type is RDF)
|
||||||
|
@ -207,6 +216,7 @@ public interface IWorkerContext {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
private String message;
|
private String message;
|
||||||
|
private TerminologyServiceErrorClass errorClass;
|
||||||
|
|
||||||
public ValidationResult(IssueSeverity severity, String message) {
|
public ValidationResult(IssueSeverity severity, String message) {
|
||||||
this.severity = severity;
|
this.severity = severity;
|
||||||
|
@ -223,12 +233,20 @@ public interface IWorkerContext {
|
||||||
this.definition = definition;
|
this.definition = definition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ValidationResult(IssueSeverity severity, String message, TerminologyServiceErrorClass errorClass) {
|
||||||
|
this.severity = severity;
|
||||||
|
this.message = message;
|
||||||
|
this.errorClass = errorClass;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isOk() {
|
public boolean isOk() {
|
||||||
return definition != null;
|
return definition != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDisplay() {
|
public String getDisplay() {
|
||||||
return definition == null ? "??" : definition.getDisplay();
|
// We don't want to return question-marks because that prevents something more useful from being displayed (e.g. the code) if there's no display value
|
||||||
|
// return definition == null ? "??" : definition.getDisplay();
|
||||||
|
return definition == null ? null : definition.getDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConceptDefinitionComponent asConceptDefinition() {
|
public ConceptDefinitionComponent asConceptDefinition() {
|
||||||
|
@ -242,6 +260,16 @@ public interface IWorkerContext {
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean IsNoService() {
|
||||||
|
return errorClass == TerminologyServiceErrorClass.NOSERVICE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TerminologyServiceErrorClass getErrorClass() {
|
||||||
|
return errorClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -314,4 +342,6 @@ public interface IWorkerContext {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLogger(ILoggingService logger);
|
public void setLogger(ILoggingService logger);
|
||||||
|
|
||||||
|
public boolean isNoTerminologyServer();
|
||||||
}
|
}
|
|
@ -6,12 +6,10 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
import org.hl7.fhir.dstu3.elementmodel.Element.SpecialElement;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
import org.hl7.fhir.dstu3.model.Base;
|
import org.hl7.fhir.dstu3.model.Base;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreator;
|
import org.hl7.fhir.dstu3.formats.JsonCreator;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreatorCanonical;
|
import org.hl7.fhir.dstu3.formats.JsonCreatorCanonical;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreatorGson;
|
import org.hl7.fhir.dstu3.formats.JsonCreatorGson;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
public class JsonLDParser extends ParserBase {
|
public class JsonLDParser extends ParserBase {
|
||||||
|
|
|
@ -5,43 +5,28 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.NotImplementedException;
|
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
|
||||||
import org.hl7.fhir.dstu3.elementmodel.Element.SpecialElement;
|
import org.hl7.fhir.dstu3.elementmodel.Element.SpecialElement;
|
||||||
import org.hl7.fhir.dstu3.elementmodel.ParserBase.ValidationPolicy;
|
import org.hl7.fhir.exceptions.DefinitionException;
|
||||||
import org.hl7.fhir.dstu3.exceptions.DefinitionException;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreator;
|
import org.hl7.fhir.dstu3.formats.JsonCreator;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreatorCanonical;
|
import org.hl7.fhir.dstu3.formats.JsonCreatorCanonical;
|
||||||
import org.hl7.fhir.dstu3.formats.JsonCreatorGson;
|
import org.hl7.fhir.dstu3.formats.JsonCreatorGson;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
||||||
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
||||||
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.utils.JsonTrackingParser;
|
import org.hl7.fhir.dstu3.utils.JsonTrackingParser;
|
||||||
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
|
||||||
import org.hl7.fhir.dstu3.utils.JsonTrackingParser.LocationData;
|
import org.hl7.fhir.dstu3.utils.JsonTrackingParser.LocationData;
|
||||||
import org.hl7.fhir.utilities.TextFile;
|
import org.hl7.fhir.utilities.TextFile;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.utilities.xhtml.XhtmlComposer;
|
|
||||||
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
|
||||||
import org.hl7.fhir.utilities.xhtml.XhtmlParser;
|
import org.hl7.fhir.utilities.xhtml.XhtmlParser;
|
||||||
import org.hl7.fhir.utilities.xml.XMLUtil;
|
|
||||||
|
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.*;
|
||||||
import com.google.gson.JsonElement;
|
|
||||||
import com.google.gson.JsonNull;
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonPrimitive;
|
|
||||||
|
|
||||||
public class JsonParser extends ParserBase {
|
public class JsonParser extends ParserBase {
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
|
|
||||||
public class Manager {
|
public class Manager {
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,11 @@ import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.dstu3.conformance.ProfileUtilities;
|
||||||
import org.hl7.fhir.dstu3.model.Base;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.PrimitiveType;
|
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.dstu3.model.Type;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
|
||||||
import org.hl7.fhir.dstu3.utils.ProfileUtilities;
|
|
||||||
|
|
||||||
public class ObjectConverter {
|
public class ObjectConverter {
|
||||||
|
|
||||||
|
|
|
@ -2,27 +2,19 @@ package org.hl7.fhir.dstu3.elementmodel;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.DefinitionException;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
|
||||||
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.PropertyRepresentation;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.utils.ProfileUtilities;
|
|
||||||
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
||||||
import org.hl7.fhir.dstu3.validation.ValidationMessage;
|
import org.hl7.fhir.dstu3.validation.ValidationMessage;
|
||||||
import org.hl7.fhir.dstu3.validation.ValidationMessage.Source;
|
import org.hl7.fhir.dstu3.validation.ValidationMessage.Source;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
|
||||||
|
|
||||||
public abstract class ParserBase {
|
public abstract class ParserBase {
|
||||||
|
|
||||||
|
|
|
@ -3,15 +3,15 @@ package org.hl7.fhir.dstu3.elementmodel;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.DefinitionException;
|
import org.hl7.fhir.exceptions.DefinitionException;
|
||||||
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.PropertyRepresentation;
|
import org.hl7.fhir.dstu3.model.ElementDefinition.PropertyRepresentation;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
import org.hl7.fhir.dstu3.model.ElementDefinition.TypeRefComponent;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.dstu3.utils.ProfileUtilities;
|
import org.hl7.fhir.dstu3.conformance.ProfileUtilities;
|
||||||
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
||||||
|
|
||||||
public class Property {
|
public class Property {
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
|
|
||||||
public class TurtleParser extends ParserBase {
|
public class TurtleParser extends ParserBase {
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
package org.hl7.fhir.dstu3.elementmodel;
|
package org.hl7.fhir.dstu3.elementmodel;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.parsers.DocumentBuilder;
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
@ -16,19 +14,17 @@ import javax.xml.transform.TransformerFactory;
|
||||||
import javax.xml.transform.dom.DOMResult;
|
import javax.xml.transform.dom.DOMResult;
|
||||||
import javax.xml.transform.sax.SAXSource;
|
import javax.xml.transform.sax.SAXSource;
|
||||||
|
|
||||||
import org.apache.commons.lang3.NotImplementedException;
|
|
||||||
import org.hl7.fhir.dstu3.elementmodel.Element.SpecialElement;
|
import org.hl7.fhir.dstu3.elementmodel.Element.SpecialElement;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
import org.hl7.fhir.dstu3.formats.FormatUtilities;
|
||||||
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
import org.hl7.fhir.dstu3.formats.IParser.OutputStyle;
|
||||||
import org.hl7.fhir.dstu3.model.DateTimeType;
|
import org.hl7.fhir.dstu3.model.DateTimeType;
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.ElementDefinition.PropertyRepresentation;
|
import org.hl7.fhir.dstu3.model.ElementDefinition.PropertyRepresentation;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumeration;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueType;
|
||||||
import org.hl7.fhir.dstu3.model.Enumeration;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
import org.hl7.fhir.dstu3.utils.ToolingExtensions;
|
||||||
import org.hl7.fhir.dstu3.utils.XmlLocationAnnotator;
|
import org.hl7.fhir.dstu3.utils.XmlLocationAnnotator;
|
||||||
import org.hl7.fhir.dstu3.utils.XmlLocationData;
|
import org.hl7.fhir.dstu3.utils.XmlLocationData;
|
||||||
|
@ -40,9 +36,7 @@ import org.hl7.fhir.utilities.xhtml.XhtmlParser;
|
||||||
import org.hl7.fhir.utilities.xml.IXMLWriter;
|
import org.hl7.fhir.utilities.xml.IXMLWriter;
|
||||||
import org.hl7.fhir.utilities.xml.XMLUtil;
|
import org.hl7.fhir.utilities.xml.XMLUtil;
|
||||||
import org.hl7.fhir.utilities.xml.XMLWriter;
|
import org.hl7.fhir.utilities.xml.XMLWriter;
|
||||||
import org.w3c.dom.Attr;
|
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.NamedNodeMap;
|
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
import org.xml.sax.InputSource;
|
import org.xml.sax.InputSource;
|
||||||
import org.xml.sax.XMLReader;
|
import org.xml.sax.XMLReader;
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
package org.hl7.fhir.dstu3.exceptions;
|
|
||||||
|
|
||||||
public class FHIRException extends Exception {
|
|
||||||
|
|
||||||
// Note that the 4-argument constructor has been removed as it is not JDK6 compatible
|
|
||||||
|
|
||||||
public FHIRException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package org.hl7.fhir.dstu3.exceptions;
|
|
||||||
|
|
||||||
public class FHIRFormatError extends FHIRException {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public FHIRFormatError() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRFormatError(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRFormatError(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FHIRFormatError(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
package org.hl7.fhir.dstu3.exceptions;
|
|
||||||
|
|
||||||
public class TerminologyServiceException extends FHIRException {
|
|
||||||
|
|
||||||
public TerminologyServiceException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public TerminologyServiceException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TerminologyServiceException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TerminologyServiceException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
package org.hl7.fhir.dstu3.exceptions;
|
|
||||||
|
|
||||||
public class UcumException extends FHIRException {
|
|
||||||
|
|
||||||
public UcumException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public UcumException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public UcumException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public UcumException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -37,7 +37,7 @@ import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
import org.hl7.fhir.dstu3.model.Resource;
|
||||||
import org.hl7.fhir.dstu3.model.Type;
|
import org.hl7.fhir.dstu3.model.Type;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
|
@ -40,7 +40,7 @@ import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
import org.hl7.fhir.dstu3.model.Resource;
|
||||||
import org.hl7.fhir.dstu3.model.Type;
|
import org.hl7.fhir.dstu3.model.Type;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
|
@ -28,22 +28,12 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.*;
|
||||||
import java.io.ByteArrayInputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRFormatError;
|
import org.hl7.fhir.exceptions.FHIRFormatError;
|
||||||
import org.hl7.fhir.dstu3.model.Base;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.DomainResource;
|
|
||||||
import org.hl7.fhir.dstu3.model.Element;
|
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
|
||||||
import org.hl7.fhir.dstu3.model.StringType;
|
|
||||||
import org.hl7.fhir.dstu3.model.Type;
|
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.utilities.xhtml.NodeType;
|
import org.hl7.fhir.utilities.xhtml.NodeType;
|
||||||
|
|
|
@ -28,16 +28,8 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
import org.hl7.fhir.dstu3.hapi.rest.server.Dstu3BundleFactory;
|
import org.hl7.fhir.dstu3.hapi.rest.server.Dstu3BundleFactory;
|
||||||
import org.hl7.fhir.dstu3.hapi.rest.server.ServerConformanceProvider;
|
import org.hl7.fhir.dstu3.hapi.rest.server.ServerConformanceProvider;
|
||||||
import org.hl7.fhir.dstu3.hapi.rest.server.ServerProfileProvider;
|
import org.hl7.fhir.dstu3.hapi.rest.server.ServerProfileProvider;
|
||||||
import org.hl7.fhir.dstu3.model.Coding;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.IdType;
|
import org.hl7.fhir.instance.model.api.*;
|
||||||
import org.hl7.fhir.dstu3.model.Reference;
|
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseCoding;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseReference;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
|
||||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
|
||||||
|
|
||||||
import ca.uhn.fhir.context.ConfigurationException;
|
import ca.uhn.fhir.context.ConfigurationException;
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
|
|
|
@ -22,44 +22,20 @@ import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||||
*/
|
*/
|
||||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.IdentityHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.TreeMap;
|
|
||||||
import java.util.TreeSet;
|
|
||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.dstu3.model.Conformance;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConditionalDeleteStatus;
|
import org.hl7.fhir.dstu3.model.Conformance.*;
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConformanceRestComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConformanceRestResourceComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConformanceRestResourceSearchParamComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ConformanceStatementKind;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.ResourceInteractionComponent;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.RestfulConformanceMode;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.SystemRestfulInteraction;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.TypeRestfulInteraction;
|
|
||||||
import org.hl7.fhir.dstu3.model.Conformance.UnknownContentCode;
|
|
||||||
import org.hl7.fhir.dstu3.model.DateTimeType;
|
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
import org.hl7.fhir.dstu3.model.IdType;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent;
|
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent;
|
||||||
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind;
|
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind;
|
||||||
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse;
|
import org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse;
|
||||||
import org.hl7.fhir.dstu3.model.Reference;
|
|
||||||
import org.hl7.fhir.dstu3.model.ResourceType;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||||
|
@ -70,14 +46,8 @@ import ca.uhn.fhir.rest.annotation.IdParam;
|
||||||
import ca.uhn.fhir.rest.annotation.Initialize;
|
import ca.uhn.fhir.rest.annotation.Initialize;
|
||||||
import ca.uhn.fhir.rest.annotation.Metadata;
|
import ca.uhn.fhir.rest.annotation.Metadata;
|
||||||
import ca.uhn.fhir.rest.annotation.Read;
|
import ca.uhn.fhir.rest.annotation.Read;
|
||||||
import ca.uhn.fhir.rest.method.BaseMethodBinding;
|
import ca.uhn.fhir.rest.method.*;
|
||||||
import ca.uhn.fhir.rest.method.DynamicSearchMethodBinding;
|
|
||||||
import ca.uhn.fhir.rest.method.IParameter;
|
|
||||||
import ca.uhn.fhir.rest.method.OperationMethodBinding;
|
|
||||||
import ca.uhn.fhir.rest.method.OperationMethodBinding.ReturnType;
|
import ca.uhn.fhir.rest.method.OperationMethodBinding.ReturnType;
|
||||||
import ca.uhn.fhir.rest.method.OperationParameter;
|
|
||||||
import ca.uhn.fhir.rest.method.RestSearchParameterTypeEnum;
|
|
||||||
import ca.uhn.fhir.rest.method.SearchMethodBinding;
|
|
||||||
import ca.uhn.fhir.rest.method.SearchParameter;
|
import ca.uhn.fhir.rest.method.SearchParameter;
|
||||||
import ca.uhn.fhir.rest.server.Constants;
|
import ca.uhn.fhir.rest.server.Constants;
|
||||||
import ca.uhn.fhir.rest.server.IServerConformanceProvider;
|
import ca.uhn.fhir.rest.server.IServerConformanceProvider;
|
||||||
|
|
|
@ -4,23 +4,14 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.commons.io.Charsets;
|
import org.apache.commons.io.Charsets;
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
import org.hl7.fhir.dstu3.model.Bundle;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.dstu3.model.DomainResource;
|
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
|
|
|
@ -161,7 +161,7 @@ public class FhirInstanceValidator extends BaseValidatorBridge implements IValid
|
||||||
StructureDefinition profile = findStructureDefinitionForResourceName(theCtx, resourceName);
|
StructureDefinition profile = findStructureDefinitionForResourceName(theCtx, resourceName);
|
||||||
if (profile != null) {
|
if (profile != null) {
|
||||||
try {
|
try {
|
||||||
v.validate(messages, document, profile);
|
v.validate(null, messages, document, profile);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new InternalErrorException("Unexpected failure while validating resource", e);
|
throw new InternalErrorException("Unexpected failure while validating resource", e);
|
||||||
}
|
}
|
||||||
|
@ -174,7 +174,7 @@ public class FhirInstanceValidator extends BaseValidatorBridge implements IValid
|
||||||
StructureDefinition profile = findStructureDefinitionForResourceName(theCtx, resourceName);
|
StructureDefinition profile = findStructureDefinitionForResourceName(theCtx, resourceName);
|
||||||
if (profile != null) {
|
if (profile != null) {
|
||||||
try {
|
try {
|
||||||
v.validate(messages, json, profile);
|
v.validate(null, messages, json, profile);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new InternalErrorException("Unexpected failure while validating resource", e);
|
throw new InternalErrorException("Unexpected failure while validating resource", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,18 @@
|
||||||
package org.hl7.fhir.dstu3.hapi.validation;
|
package org.hl7.fhir.dstu3.hapi.validation;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||||
import java.io.IOException;
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
|
import org.hl7.fhir.dstu3.context.IWorkerContext.ILoggingService;
|
||||||
import org.hl7.fhir.dstu3.formats.IParser;
|
import org.hl7.fhir.dstu3.formats.IParser;
|
||||||
import org.hl7.fhir.dstu3.formats.ParserType;
|
import org.hl7.fhir.dstu3.formats.ParserType;
|
||||||
import org.hl7.fhir.dstu3.hapi.validation.IValidationSupport.CodeValidationResult;
|
import org.hl7.fhir.dstu3.hapi.validation.IValidationSupport.CodeValidationResult;
|
||||||
import org.hl7.fhir.dstu3.model.BaseConformance;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
||||||
import org.hl7.fhir.dstu3.model.CodeableConcept;
|
|
||||||
import org.hl7.fhir.dstu3.model.Coding;
|
|
||||||
import org.hl7.fhir.dstu3.model.ConceptMap;
|
|
||||||
import org.hl7.fhir.dstu3.model.ExpansionProfile;
|
|
||||||
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
import org.hl7.fhir.dstu3.model.OperationOutcome.IssueSeverity;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
|
||||||
import org.hl7.fhir.dstu3.model.ResourceType;
|
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
|
@ -35,7 +21,7 @@ import org.hl7.fhir.dstu3.terminologies.ValueSetExpander;
|
||||||
import org.hl7.fhir.dstu3.terminologies.ValueSetExpanderFactory;
|
import org.hl7.fhir.dstu3.terminologies.ValueSetExpanderFactory;
|
||||||
import org.hl7.fhir.dstu3.terminologies.ValueSetExpanderSimple;
|
import org.hl7.fhir.dstu3.terminologies.ValueSetExpanderSimple;
|
||||||
import org.hl7.fhir.dstu3.utils.INarrativeGenerator;
|
import org.hl7.fhir.dstu3.utils.INarrativeGenerator;
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
import org.hl7.fhir.dstu3.context.IWorkerContext;
|
||||||
import org.hl7.fhir.dstu3.validation.IResourceValidator;
|
import org.hl7.fhir.dstu3.validation.IResourceValidator;
|
||||||
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
import org.hl7.fhir.exceptions.TerminologyServiceException;
|
||||||
|
|
||||||
|
@ -208,9 +194,27 @@ public final class HapiWorkerContext implements IWorkerContext, ValueSetExpander
|
||||||
@Override
|
@Override
|
||||||
public ValidationResult validateCode(String theSystem, String theCode, String theDisplay, ValueSet theVs) {
|
public ValidationResult validateCode(String theSystem, String theCode, String theDisplay, ValueSet theVs) {
|
||||||
|
|
||||||
|
if (theVs != null && isNotBlank(theCode)) {
|
||||||
|
for (ConceptSetComponent next : theVs.getCompose().getInclude()) {
|
||||||
|
if (isBlank(theSystem) || theSystem.equals(next.getSystem())) {
|
||||||
|
for (ConceptReferenceComponent nextCode : next.getConcept()) {
|
||||||
|
if (theCode.equals(nextCode.getCode())) {
|
||||||
|
CodeType code = new CodeType(theCode);
|
||||||
|
return new ValidationResult(new ConceptDefinitionComponent(code));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
boolean caseSensitive = true;
|
boolean caseSensitive = true;
|
||||||
CodeSystem system = fetchCodeSystem(theSystem);
|
if (isNotBlank(theSystem)) {
|
||||||
if (system != null) {
|
CodeSystem system = fetchCodeSystem(theSystem);
|
||||||
|
if (system == null) {
|
||||||
|
return new ValidationResult(IssueSeverity.INFORMATION, "Code " + theSystem + "/" + theCode + " was not validated because the code system is not present");
|
||||||
|
}
|
||||||
|
|
||||||
if (system.hasCaseSensitive()) {
|
if (system.hasCaseSensitive()) {
|
||||||
caseSensitive = system.getCaseSensitive();
|
caseSensitive = system.getCaseSensitive();
|
||||||
}
|
}
|
||||||
|
@ -233,29 +237,13 @@ public final class HapiWorkerContext implements IWorkerContext, ValueSetExpander
|
||||||
expansion.getExpansion().addContains().setCode(nextConcept.getCode()).setDisplay(nextConcept.getDisplay());
|
expansion.getExpansion().addContains().setCode(nextConcept.getCode()).setDisplay(nextConcept.getDisplay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
expandedValueSet= new ValueSetExpansionOutcome(expansion);
|
expandedValueSet = new ValueSetExpansionOutcome(expansion);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (theVs.getCompose().hasExclude() == false) {
|
|
||||||
// if (theVs.getCompose().hasImport() == false) {
|
|
||||||
// if (theVs.getCompose().hasInclude()) {
|
|
||||||
// for (ConceptSetComponent nextInclude : theVs.getCompose().getInclude()) {
|
|
||||||
// if (nextInclude.hasFilter() == false) {
|
|
||||||
// if (nextInclude.hasConcept() == false) {
|
|
||||||
// if (nextInclude.hasSystem()) {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (expandedValueSet == null) {
|
if (expandedValueSet == null) {
|
||||||
expandedValueSet = expand(theVs, null);
|
expandedValueSet = expand(theVs, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ValueSetExpansionContainsComponent next : expandedValueSet.getValueset().getExpansion().getContains()) {
|
for (ValueSetExpansionContainsComponent next : expandedValueSet.getValueset().getExpansion().getContains()) {
|
||||||
String nextCode = next.getCode();
|
String nextCode = next.getCode();
|
||||||
if (!caseSensitive) {
|
if (!caseSensitive) {
|
||||||
|
@ -273,31 +261,6 @@ public final class HapiWorkerContext implements IWorkerContext, ValueSetExpander
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for (UriType nextComposeImport : theVs.getCompose().getImport()) {
|
|
||||||
// if (isNotBlank(nextComposeImport.getValue())) {
|
|
||||||
// aaa
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// for (ConceptSetComponent nextComposeConceptSet : theVs.getCompose().getInclude()) {
|
|
||||||
// if (theSystem == null || StringUtils.equals(theSystem, nextComposeConceptSet.getSystem())) {
|
|
||||||
// if (nextComposeConceptSet.getConcept().isEmpty()) {
|
|
||||||
// ValidationResult retVal = validateCode(nextComposeConceptSet.getSystem(), theCode, theDisplay);
|
|
||||||
// if (retVal != null && retVal.isOk()) {
|
|
||||||
// return retVal;
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// for (ConceptReferenceComponent nextComposeCode : nextComposeConceptSet.getConcept()) {
|
|
||||||
// ConceptDefinitionComponent conceptDef = new ConceptDefinitionComponent();
|
|
||||||
// conceptDef.setCode(nextComposeCode.getCode());
|
|
||||||
// conceptDef.setDisplay(nextComposeCode.getDisplay());
|
|
||||||
// ValidationResult retVal = validateCodeSystem(theCode, conceptDef);
|
|
||||||
// if (retVal != null && retVal.isOk()) {
|
|
||||||
// return retVal;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
return new ValidationResult(IssueSeverity.ERROR, "Unknown code[" + theCode + "] in system[" + theSystem + "]");
|
return new ValidationResult(IssueSeverity.ERROR, "Unknown code[" + theCode + "] in system[" + theSystem + "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,4 +318,14 @@ public final class HapiWorkerContext implements IWorkerContext, ValueSetExpander
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getVersion() {
|
||||||
|
return myCtx.getVersion().getVersion().getFhirVersionString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isNoTerminologyServer() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -9,7 +9,6 @@ import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
import org.hl7.fhir.dstu3.model.CodeSystem;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
import org.hl7.fhir.dstu3.model.StructureDefinition;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centres, etc.
|
* A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centres, etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
|
* This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations and which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
|
* An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations and which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,16 +30,12 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A duration of time during which an organism (or a process) has existed.
|
* A duration of time during which an organism (or a process) has existed.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
|
* Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A text note which also contains information about who made the statement and when.
|
* A text note which also contains information about who made the statement and when.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).
|
* A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
|
* A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* For referring to data content defined in other formats.
|
* For referring to data content defined in other formats.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.
|
* A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,16 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Base definition for all elements that are defined inside a resource - but not those in a data type.
|
* Base definition for all elements that are defined inside a resource - but not those in a data type.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -3,11 +3,10 @@ package org.hl7.fhir.dstu3.model;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.instance.model.api.IBase;
|
import org.hl7.fhir.instance.model.api.IBase;
|
||||||
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
||||||
|
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* null
|
* null
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
import org.hl7.fhir.instance.model.api.IAnyResource;
|
import org.hl7.fhir.instance.model.api.*;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseReference;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
|
||||||
import org.hl7.fhir.instance.model.api.ICompositeType;
|
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
|
||||||
|
|
||||||
public abstract class BaseReference extends Type implements IBaseReference, ICompositeType {
|
public abstract class BaseReference extends Type implements IBaseReference, ICompositeType {
|
||||||
|
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.
|
* Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBinary;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A binary resource can contain any content, whether text, image, pdf, zip archive, etc.
|
* A binary resource can contain any content, whether text, image, pdf, zip archive, etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case.
|
* Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -30,19 +32,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import java.math.*;
|
import org.hl7.fhir.instance.model.api.IBaseBundle;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A container for a collection of resources.
|
* A container for a collection of resources.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.
|
* Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
|
* The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -30,20 +32,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import java.math.*;
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
|
* A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -30,20 +32,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import java.math.*;
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides the adjudication details from the processing of a Claim resource.
|
* This resource provides the adjudication details from the processing of a Claim resource.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score.
|
* A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A code system resource specifies a set of codes drawn from one or more code systems.
|
* A code system resource specifies a set of codes drawn from one or more code systems.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
|
* A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseCoding;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A reference to a code defined by a terminology system.
|
* A reference to a code defined by a terminology system.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
|
* An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.
|
* A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -3,7 +3,7 @@ package org.hl7.fhir.dstu3.model;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang3.NotImplementedException;
|
import org.apache.commons.lang3.NotImplementedException;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A compartment definition that defines how resources are accessed on a server.
|
* A compartment definition that defines how resources are accessed on a server.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.
|
* A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,19 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalenceEnumFactory;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.
|
* A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary.
|
* Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,20 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.SearchParamTypeEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseConformance;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
|
* A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A record of a healthcare consumer’s policy choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.
|
* A record of a healthcare consumer’s policy choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Specifies contact information for a person or organization.
|
* Specifies contact information for a person or organization.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
|
* Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -30,19 +32,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import java.math.*;
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A formal agreement between parties regarding the conduct of business, exchange of information or other matters.
|
* A formal agreement between parties regarding the conduct of business, exchange of information or other matters.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
|
* A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,16 +30,12 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
|
* A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Financial instrument which may be used to pay for or reimburse health care products and services.
|
* Financial instrument which may be used to pay for or reimburse health care products and services.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* The formal description of a single piece of information that can be gathered and reported.
|
* The formal description of a single piece of information that can be gathered and reported.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseDatatypeElement;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Block;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
/**
|
/**
|
||||||
* Describes a required data item for evaluation in terms of the type of data, and optional code- or date-based filters of the data.
|
* Describes a required data item for evaluation in terms of the type of data, and optional code- or date-based filters of the data.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* The DecisionSupportServiceModule describes a unit of decision support functionality that is made available as a service, such as immunization modules or drug-drug interaction checking.
|
* The DecisionSupportServiceModule describes a unit of decision support functionality that is made available as a service, such as immunization modules or drug-drug interaction checking.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.
|
* Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc.
|
* This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Describes the characteristics, operational status and capabilities of a medical-related component of a medical device.
|
* Describes the characteristics, operational status and capabilities of a medical-related component of a medical device.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,14 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Describes a measurement, calculation or setting capability of a medical device.
|
* Describes a measurement, calculation or setting capability of a medical device.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.
|
* Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.
|
* A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.
|
* The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A record of a request for a diagnostic investigation service to be performed.
|
* A record of a request for a diagnostic investigation service to be performed.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,16 +30,12 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A length - a value with a unit that is a physical distance.
|
* A length - a value with a unit that is a physical distance.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A manifest that defines a set of documents.
|
* A manifest that defines a set of documents.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A reference to a document .
|
* A reference to a document .
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseHasExtensions;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseHasModifierExtensions;
|
||||||
|
import org.hl7.fhir.instance.model.api.IDomainResource;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A resource that includes narrative, extensions, and contained resources.
|
* A resource that includes narrative, extensions, and contained resources.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,16 +30,12 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* A length of time.
|
* A length of time.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseElement;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseHasExtensions;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Base definition for all elements in a resource.
|
* Base definition for all elements in a resource.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,20 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.BindingStrength;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.BindingStrengthEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseDatatypeElement;
|
||||||
|
import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Block;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
/**
|
/**
|
||||||
* Captures constraints on each element within the resource, profile, or extension.
|
* Captures constraints on each element within the resource, profile, or extension.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service.
|
* This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.RemittanceOutcome;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.RemittanceOutcomeEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides eligibility and plan details from the processing of an Eligibility resource.
|
* This resource provides eligibility and plan details from the processing of an Eligibility resource.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,13 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
|
* An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,18 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.
|
* The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
|
* This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,19 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.RemittanceOutcome;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.RemittanceOutcomeEnumFactory;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides enrollment and plan details from the processing of an Enrollment resource.
|
* This resource provides enrollment and plan details from the processing of an Enrollment resource.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,39 +1,6 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
/*
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of HL7 nor the names of its contributors may be used to
|
|
||||||
endorse or promote products derived from this software without specific
|
|
||||||
prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
||||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
|
||||||
|
|
||||||
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
|
|
||||||
public class Enumerations {
|
public class Enumerations {
|
||||||
|
|
||||||
|
|
|
@ -30,18 +30,13 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.
|
* An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,19 +30,17 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.ConformanceResourceStatusEnumFactory;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Resource to define constraints on the Expansion of a FHIR ValueSet.
|
* Resource to define constraints on the Expansion of a FHIR ValueSet.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2011+, HL7, Inc.
|
Copyright (c) 2011+, HL7, Inc.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -30,20 +32,15 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||||
import java.math.*;
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
import org.hl7.fhir.dstu3.model.Enumerations.*;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ResourceDef;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.
|
* This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,14 +1,8 @@
|
||||||
package org.hl7.fhir.dstu3.model;
|
package org.hl7.fhir.dstu3.model;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.model.ExpressionNode.CollectionStatus;
|
|
||||||
import org.hl7.fhir.dstu3.model.ExpressionNode.TypeDetails;
|
|
||||||
import org.hl7.fhir.dstu3.utils.IWorkerContext;
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
import org.hl7.fhir.utilities.Utilities;
|
||||||
|
|
||||||
public class ExpressionNode {
|
public class ExpressionNode {
|
||||||
|
@ -230,100 +224,10 @@ public class ExpressionNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CollectionStatus {
|
public enum CollectionStatus {
|
||||||
SINGLETON, ORDERED, UNORDERED
|
SINGLETON, ORDERED, UNORDERED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class TypeDetails {
|
//the expression will have one of either name or constant
|
||||||
private Set<String> types = new HashSet<String>();
|
|
||||||
private CollectionStatus collectionStatus;
|
|
||||||
public TypeDetails(CollectionStatus collectionStatus, String... names) {
|
|
||||||
super();
|
|
||||||
this.collectionStatus = collectionStatus;
|
|
||||||
for (String n : names)
|
|
||||||
this.types.add(n);
|
|
||||||
}
|
|
||||||
public TypeDetails(CollectionStatus collectionStatus, Set<String> names) {
|
|
||||||
super();
|
|
||||||
this.collectionStatus = collectionStatus;
|
|
||||||
for (String n : names)
|
|
||||||
this.types.add(n);
|
|
||||||
}
|
|
||||||
public void addType(String n) {
|
|
||||||
this.types.add(n);
|
|
||||||
}
|
|
||||||
public void addTypes(Collection<String> n) {
|
|
||||||
this.types.addAll(n);
|
|
||||||
}
|
|
||||||
public boolean hasType(IWorkerContext context, String... tn) {
|
|
||||||
for (String t: tn)
|
|
||||||
if (types.contains(t))
|
|
||||||
return true;
|
|
||||||
for (String t: tn) {
|
|
||||||
StructureDefinition sd = context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+t);
|
|
||||||
while (sd != null) {
|
|
||||||
if (types.contains(sd.getId()))
|
|
||||||
return true;
|
|
||||||
if (sd.hasBaseDefinition())
|
|
||||||
sd = context.fetchResource(StructureDefinition.class, sd.getBaseDefinition());
|
|
||||||
else
|
|
||||||
sd = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
public void update(TypeDetails source) {
|
|
||||||
types.addAll(source.types);
|
|
||||||
if (collectionStatus == null)
|
|
||||||
collectionStatus = source.collectionStatus;
|
|
||||||
else if (source.collectionStatus == CollectionStatus.UNORDERED)
|
|
||||||
collectionStatus = source.collectionStatus;
|
|
||||||
else
|
|
||||||
collectionStatus = CollectionStatus.ORDERED;
|
|
||||||
}
|
|
||||||
public TypeDetails union(TypeDetails right) {
|
|
||||||
TypeDetails result = new TypeDetails(null);
|
|
||||||
if (right.collectionStatus == CollectionStatus.UNORDERED || collectionStatus == CollectionStatus.UNORDERED)
|
|
||||||
result.collectionStatus = CollectionStatus.UNORDERED;
|
|
||||||
else
|
|
||||||
result.collectionStatus = CollectionStatus.ORDERED;
|
|
||||||
result.types.addAll(types);
|
|
||||||
result.types.addAll(right.types);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasNoTypes() {
|
|
||||||
return types.isEmpty();
|
|
||||||
}
|
|
||||||
public Set<String> getTypes() {
|
|
||||||
return types;
|
|
||||||
}
|
|
||||||
public TypeDetails toSingleton() {
|
|
||||||
TypeDetails result = new TypeDetails(CollectionStatus.SINGLETON);
|
|
||||||
result.types.addAll(types);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
public CollectionStatus getCollectionStatus() {
|
|
||||||
return collectionStatus;
|
|
||||||
}
|
|
||||||
public boolean hasType(Set<String> tn) {
|
|
||||||
for (String t: tn)
|
|
||||||
if (types.contains(t))
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
public String describe() {
|
|
||||||
return types.toString();
|
|
||||||
}
|
|
||||||
public String getType() {
|
|
||||||
for (String t : types)
|
|
||||||
return t;
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//the expression will have one of either name or constant
|
|
||||||
private String uniqueId;
|
private String uniqueId;
|
||||||
private Kind kind;
|
private Kind kind;
|
||||||
private String name;
|
private String name;
|
||||||
|
|
|
@ -30,17 +30,16 @@ package org.hl7.fhir.dstu3.model;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
// Generated on Thu, Aug 25, 2016 23:04-0400 for FHIR v1.6.0
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import java.util.*;
|
import org.hl7.fhir.exceptions.FHIRException;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseDatatype;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseExtension;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseHasExtensions;
|
||||||
|
|
||||||
import org.hl7.fhir.utilities.Utilities;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Child;
|
import ca.uhn.fhir.model.api.annotation.Child;
|
||||||
import ca.uhn.fhir.model.api.annotation.ChildOrder;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.Description;
|
|
||||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||||
import ca.uhn.fhir.model.api.annotation.Block;
|
import ca.uhn.fhir.model.api.annotation.Description;
|
||||||
import org.hl7.fhir.instance.model.api.*;
|
|
||||||
import org.hl7.fhir.dstu3.exceptions.FHIRException;
|
|
||||||
/**
|
/**
|
||||||
* Optional Extensions Element - found in all resources.
|
* Optional Extensions Element - found in all resources.
|
||||||
*/
|
*/
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue