Merge branch 'gg_20201105-remove-person-references' of github.com:jamesagnew/hapi-fhir into gg_20201105-remove-person-references
This commit is contained in:
commit
406bbafafe
|
@ -39,4 +39,6 @@ public class EmpiConstants {
|
||||||
public static final String CODE_GOLDEN_RECORD_REDIRECTED = "REDIRECTED";
|
public static final String CODE_GOLDEN_RECORD_REDIRECTED = "REDIRECTED";
|
||||||
public static final String DISPLAY_GOLDEN_RECORD = "Golden Record";
|
public static final String DISPLAY_GOLDEN_RECORD = "Golden Record";
|
||||||
public static final String DISPLAY_GOLDEN_REDIRECT = "This resource was found to be a duplicate and has been redirected.";
|
public static final String DISPLAY_GOLDEN_REDIRECT = "This resource was found to be a duplicate and has been redirected.";
|
||||||
|
|
||||||
|
public static final String UNKNOWN_MDM_TYPES = "Unknown Resource Types";
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@ package ca.uhn.fhir.empi.provider;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
|
||||||
import ca.uhn.fhir.empi.api.EmpiLinkJson;
|
import ca.uhn.fhir.empi.api.EmpiLinkJson;
|
||||||
import ca.uhn.fhir.empi.api.EmpiMatchResultEnum;
|
import ca.uhn.fhir.empi.api.EmpiMatchResultEnum;
|
||||||
import ca.uhn.fhir.empi.model.MdmTransactionContext;
|
import ca.uhn.fhir.empi.model.MdmTransactionContext;
|
||||||
|
@ -30,10 +29,8 @@ import ca.uhn.fhir.rest.server.TransactionLogMessages;
|
||||||
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||||
import ca.uhn.fhir.rest.server.provider.ProviderConstants;
|
import ca.uhn.fhir.rest.server.provider.ProviderConstants;
|
||||||
import ca.uhn.fhir.util.ParametersUtil;
|
import ca.uhn.fhir.util.ParametersUtil;
|
||||||
import org.hl7.fhir.dstu3.model.StringType;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBase;
|
import org.hl7.fhir.instance.model.api.IBase;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseParameters;
|
import org.hl7.fhir.instance.model.api.IBaseParameters;
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
|
||||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||||
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
@ -82,10 +79,6 @@ public abstract class BaseEmpiProvider {
|
||||||
validateNotNull(ProviderConstants.MDM_UPDATE_LINK_RESOURCE_ID, theResourceId);
|
validateNotNull(ProviderConstants.MDM_UPDATE_LINK_RESOURCE_ID, theResourceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getResourceType(String theParamName, String theResourceId) {
|
|
||||||
IIdType idType = EmpiControllerUtil.getGoldenIdDtOrThrowException(theParamName, theResourceId);
|
|
||||||
return idType.getResourceType();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected MdmTransactionContext createMdmContext(RequestDetails theRequestDetails, MdmTransactionContext.OperationType theOperationType, String theResourceType) {
|
protected MdmTransactionContext createMdmContext(RequestDetails theRequestDetails, MdmTransactionContext.OperationType theOperationType, String theResourceType) {
|
||||||
TransactionLogMessages transactionLogMessages = TransactionLogMessages.createFromTransactionGuid(theRequestDetails.getTransactionGuid());
|
TransactionLogMessages transactionLogMessages = TransactionLogMessages.createFromTransactionGuid(theRequestDetails.getTransactionGuid());
|
||||||
|
|
|
@ -44,12 +44,12 @@ import org.hl7.fhir.dstu3.model.DecimalType;
|
||||||
import org.hl7.fhir.dstu3.model.InstantType;
|
import org.hl7.fhir.dstu3.model.InstantType;
|
||||||
import org.hl7.fhir.dstu3.model.Parameters;
|
import org.hl7.fhir.dstu3.model.Parameters;
|
||||||
import org.hl7.fhir.dstu3.model.Patient;
|
import org.hl7.fhir.dstu3.model.Patient;
|
||||||
import org.hl7.fhir.dstu3.model.Person;
|
|
||||||
import org.hl7.fhir.dstu3.model.Practitioner;
|
import org.hl7.fhir.dstu3.model.Practitioner;
|
||||||
import org.hl7.fhir.dstu3.model.Resource;
|
import org.hl7.fhir.dstu3.model.Resource;
|
||||||
import org.hl7.fhir.dstu3.model.StringType;
|
import org.hl7.fhir.dstu3.model.StringType;
|
||||||
import org.hl7.fhir.dstu3.model.codesystems.MatchGrade;
|
import org.hl7.fhir.dstu3.model.codesystems.MatchGrade;
|
||||||
import org.hl7.fhir.instance.model.api.IAnyResource;
|
import org.hl7.fhir.instance.model.api.IAnyResource;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
@ -109,59 +109,59 @@ public class EmpiProviderDstu3 extends BaseEmpiProvider {
|
||||||
return searchComponent;
|
return searchComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(name = ProviderConstants.MDM_MERGE_GOLDEN_RESOURCES, type = Person.class)
|
@Operation(name = ProviderConstants.MDM_MERGE_GOLDEN_RESOURCES)
|
||||||
public Person mergePerson(@OperationParam(name=ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theFromPersonId,
|
public IBaseResource mergeGoldenResource(@OperationParam(name=ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theFromGoldenResourceId,
|
||||||
@OperationParam(name=ProviderConstants.MDM_MERGE_GR_TO_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theToPersonId,
|
@OperationParam(name=ProviderConstants.MDM_MERGE_GR_TO_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theToGoldenResourceId,
|
||||||
RequestDetails theRequestDetails) {
|
RequestDetails theRequestDetails) {
|
||||||
validateMergeParameters(theFromPersonId, theToPersonId);
|
validateMergeParameters(theFromGoldenResourceId, theToGoldenResourceId);
|
||||||
|
|
||||||
String resourceType = getResourceType(ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, theFromPersonId.getValue());
|
String resourceType = getResourceType(ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, theFromGoldenResourceId);
|
||||||
|
|
||||||
return (Person) myEmpiControllerSvc.mergeGoldenResources(theFromPersonId.getValue(), theToPersonId.getValue(),
|
return myEmpiControllerSvc.mergeGoldenResources(theFromGoldenResourceId.getValue(), theToGoldenResourceId.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.MERGE_PERSONS, resourceType));
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.MERGE_PERSONS, resourceType));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(name = ProviderConstants.MDM_UPDATE_LINK, type = Person.class)
|
@Operation(name = ProviderConstants.MDM_UPDATE_LINK)
|
||||||
public Person updateLink(@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType thePersonId,
|
public IBaseResource updateLink(@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theGoldenResourceId,
|
||||||
@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_RESOURCE_ID, min = 1, max = 1) StringType theTargetId,
|
@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_RESOURCE_ID, min = 1, max = 1) StringType theTargetId,
|
||||||
@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_MATCH_RESULT, min = 1, max = 1) StringType theMatchResult,
|
@OperationParam(name=ProviderConstants.MDM_UPDATE_LINK_MATCH_RESULT, min = 1, max = 1) StringType theMatchResult,
|
||||||
ServletRequestDetails theRequestDetails) {
|
ServletRequestDetails theRequestDetails) {
|
||||||
|
|
||||||
validateUpdateLinkParameters(thePersonId, theTargetId, theMatchResult);
|
validateUpdateLinkParameters(theGoldenResourceId, theTargetId, theMatchResult);
|
||||||
|
|
||||||
return (Person) myEmpiControllerSvc.updateLink(thePersonId.getValue(), theTargetId.getValue(), theMatchResult.getValue(),
|
return myEmpiControllerSvc.updateLink(theGoldenResourceId.getValue(), theTargetId.getValue(), theMatchResult.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.UPDATE_LINK,
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.UPDATE_LINK,
|
||||||
getResourceType(ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, thePersonId.getValue())));
|
getResourceType(ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, theGoldenResourceId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(name = ProviderConstants.MDM_QUERY_LINKS)
|
@Operation(name = ProviderConstants.MDM_QUERY_LINKS)
|
||||||
public Parameters queryLinks(@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, min = 0, max = 1) StringType thePersonId,
|
public Parameters queryLinks(@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, min = 0, max = 1) StringType theGoldenResourceId,
|
||||||
@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_RESOURCE_ID, min = 0, max = 1) StringType theTargetId,
|
@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_RESOURCE_ID, min = 0, max = 1) StringType theTargetResourceId,
|
||||||
@OperationParam(name=ProviderConstants.EMPI_QUERY_LINKS_MATCH_RESULT, min = 0, max = 1) StringType theMatchResult,
|
@OperationParam(name=ProviderConstants.EMPI_QUERY_LINKS_MATCH_RESULT, min = 0, max = 1) StringType theMatchResult,
|
||||||
@OperationParam(name=ProviderConstants.EMPI_QUERY_LINKS_MATCH_RESULT, min = 0, max = 1) StringType theLinkSource,
|
@OperationParam(name=ProviderConstants.EMPI_QUERY_LINKS_MATCH_RESULT, min = 0, max = 1) StringType theLinkSource,
|
||||||
ServletRequestDetails theRequestDetails) {
|
ServletRequestDetails theRequestDetails) {
|
||||||
|
|
||||||
Stream<EmpiLinkJson> empiLinkJson = myEmpiControllerSvc.queryLinks(extractStringOrNull(thePersonId), extractStringOrNull(theTargetId),
|
Stream<EmpiLinkJson> empiLinkJson = myEmpiControllerSvc.queryLinks(extractStringOrNull(theGoldenResourceId), extractStringOrNull(theTargetResourceId),
|
||||||
extractStringOrNull(theMatchResult), extractStringOrNull(theLinkSource), createMdmContext(theRequestDetails,
|
extractStringOrNull(theMatchResult), extractStringOrNull(theLinkSource), createMdmContext(theRequestDetails,
|
||||||
MdmTransactionContext.OperationType.QUERY_LINKS, getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, thePersonId.getValue())));
|
MdmTransactionContext.OperationType.QUERY_LINKS, getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, theGoldenResourceId)));
|
||||||
return (Parameters) parametersFromEmpiLinks(empiLinkJson, true);
|
return (Parameters) parametersFromEmpiLinks(empiLinkJson, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(name = ProviderConstants.MDM_DUPLICATE_GOLDEN_RESOURCES)
|
@Operation(name = ProviderConstants.MDM_DUPLICATE_GOLDEN_RESOURCES)
|
||||||
public Parameters getDuplicatePersons(ServletRequestDetails theRequestDetails) {
|
public Parameters getDuplicateGoldenResources(ServletRequestDetails theRequestDetails) {
|
||||||
Stream<EmpiLinkJson> possibleDuplicates = myEmpiControllerSvc.getDuplicateGoldenResources(createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.QUERY_LINKS, (String) null));
|
Stream<EmpiLinkJson> possibleDuplicates = myEmpiControllerSvc.getDuplicateGoldenResources(createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.QUERY_LINKS, (String) null));
|
||||||
return (Parameters) parametersFromEmpiLinks(possibleDuplicates, false);
|
return (Parameters) parametersFromEmpiLinks(possibleDuplicates, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(name = ProviderConstants.MDM_NOT_DUPLICATE)
|
@Operation(name = ProviderConstants.MDM_NOT_DUPLICATE)
|
||||||
// TODO KHS can this return void?
|
// TODO KHS can this return void?
|
||||||
public Parameters notDuplicate(@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType thePersonId,
|
public Parameters notDuplicate(@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, min = 1, max = 1) StringType theGoldenResourceId,
|
||||||
@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_RESOURCE_ID, min = 1, max = 1) StringType theTargetId,
|
@OperationParam(name=ProviderConstants.MDM_QUERY_LINKS_RESOURCE_ID, min = 1, max = 1) StringType theTargetResourceId,
|
||||||
ServletRequestDetails theRequestDetails) {
|
ServletRequestDetails theRequestDetails) {
|
||||||
|
|
||||||
validateNotDuplicateParameters(thePersonId, theTargetId);
|
validateNotDuplicateParameters(theGoldenResourceId, theTargetResourceId);
|
||||||
myEmpiControllerSvc.notDuplicateGoldenResource(thePersonId.getValue(), theTargetId.getValue(),
|
myEmpiControllerSvc.notDuplicateGoldenResource(theGoldenResourceId.getValue(), theTargetResourceId.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.NOT_DUPLICATE, thePersonId.fhirType()));
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.NOT_DUPLICATE, theGoldenResourceId.fhirType()));
|
||||||
|
|
||||||
Parameters retval = (Parameters) ParametersUtil.newInstance(myFhirContext);
|
Parameters retval = (Parameters) ParametersUtil.newInstance(myFhirContext);
|
||||||
ParametersUtil.addParameterToParametersBoolean(myFhirContext, retval, "success", true);
|
ParametersUtil.addParameterToParametersBoolean(myFhirContext, retval, "success", true);
|
||||||
|
@ -287,4 +287,13 @@ public class EmpiProviderDstu3 extends BaseEmpiProvider {
|
||||||
}
|
}
|
||||||
return matchGrade;
|
return matchGrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String getResourceType(String theParamName, StringType theResourceId) {
|
||||||
|
if (theResourceId != null) {
|
||||||
|
IIdType idType = EmpiControllerUtil.getGoldenIdDtOrThrowException(theParamName, theResourceId.getValueNotNull());
|
||||||
|
return idType.getResourceType();
|
||||||
|
} else {
|
||||||
|
return EmpiConstants.UNKNOWN_MDM_TYPES;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ public class EmpiProviderR4 extends BaseEmpiProvider {
|
||||||
|
|
||||||
return myEmpiControllerSvc.mergeGoldenResources(theFromGoldenResourceId.getValue(), theToGoldenResourceId.getValue(),
|
return myEmpiControllerSvc.mergeGoldenResources(theFromGoldenResourceId.getValue(), theToGoldenResourceId.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.MERGE_PERSONS,
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.MERGE_PERSONS,
|
||||||
getResourceType(ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, theFromGoldenResourceId.getValue()))
|
getResourceType(ProviderConstants.MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID, theFromGoldenResourceId))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ public class EmpiProviderR4 extends BaseEmpiProvider {
|
||||||
return myEmpiControllerSvc.updateLink(theGoldenResourceId.getValueNotNull(), theResourceId.getValue(),
|
return myEmpiControllerSvc.updateLink(theGoldenResourceId.getValueNotNull(), theResourceId.getValue(),
|
||||||
theMatchResult.getValue(),
|
theMatchResult.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.UPDATE_LINK,
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.UPDATE_LINK,
|
||||||
getResourceType(ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, theGoldenResourceId.getValue()))
|
getResourceType(ProviderConstants.MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID, theGoldenResourceId))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ public class EmpiProviderR4 extends BaseEmpiProvider {
|
||||||
Stream<EmpiLinkJson> empiLinkJson = myEmpiControllerSvc.queryLinks(extractStringOrNull(theGoldenResourceId),
|
Stream<EmpiLinkJson> empiLinkJson = myEmpiControllerSvc.queryLinks(extractStringOrNull(theGoldenResourceId),
|
||||||
extractStringOrNull(theResourceId), extractStringOrNull(theMatchResult), extractStringOrNull(theLinkSource),
|
extractStringOrNull(theResourceId), extractStringOrNull(theMatchResult), extractStringOrNull(theLinkSource),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.QUERY_LINKS,
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.QUERY_LINKS,
|
||||||
getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, theGoldenResourceId.getValue()))
|
getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, theGoldenResourceId))
|
||||||
);
|
);
|
||||||
return (Parameters) parametersFromEmpiLinks(empiLinkJson, true);
|
return (Parameters) parametersFromEmpiLinks(empiLinkJson, true);
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ public class EmpiProviderR4 extends BaseEmpiProvider {
|
||||||
validateNotDuplicateParameters(theGoldenResourceId, theResourceId);
|
validateNotDuplicateParameters(theGoldenResourceId, theResourceId);
|
||||||
myEmpiControllerSvc.notDuplicateGoldenResource(theGoldenResourceId.getValue(), theResourceId.getValue(),
|
myEmpiControllerSvc.notDuplicateGoldenResource(theGoldenResourceId.getValue(), theResourceId.getValue(),
|
||||||
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.NOT_DUPLICATE,
|
createMdmContext(theRequestDetails, MdmTransactionContext.OperationType.NOT_DUPLICATE,
|
||||||
getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, theGoldenResourceId.getValue()))
|
getResourceType(ProviderConstants.MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID, theGoldenResourceId))
|
||||||
);
|
);
|
||||||
|
|
||||||
Parameters retval = (Parameters) ParametersUtil.newInstance(myFhirContext);
|
Parameters retval = (Parameters) ParametersUtil.newInstance(myFhirContext);
|
||||||
|
@ -315,4 +315,13 @@ public class EmpiProviderR4 extends BaseEmpiProvider {
|
||||||
}
|
}
|
||||||
return matchGrade;
|
return matchGrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getResourceType(String theParamName, StringType theResourceId) {
|
||||||
|
if (theResourceId != null) {
|
||||||
|
IIdType idType = EmpiControllerUtil.getGoldenIdDtOrThrowException(theParamName, theResourceId.getValueNotNull());
|
||||||
|
return idType.getResourceType();
|
||||||
|
} else {
|
||||||
|
return EmpiConstants.UNKNOWN_MDM_TYPES;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"version": "1",
|
"version": "1",
|
||||||
"candidateSearchParams" : [],
|
"candidateSearchParams" : [],
|
||||||
"candidateFilterSearchParams" : [{
|
"candidateFilterSearchParams" : [{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams" : [],
|
"candidateSearchParams" : [],
|
||||||
"candidateFilterSearchParams" : [],
|
"candidateFilterSearchParams" : [],
|
||||||
"matchFields" : [ {
|
"matchFields" : [ {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams" : [{
|
"candidateSearchParams" : [{
|
||||||
"resourceType" : "Patient",
|
"resourceType" : "Patient",
|
||||||
"searchParams" : ["foo"]
|
"searchParams" : ["foo"]
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams" : [],
|
"candidateSearchParams" : [],
|
||||||
"candidateFilterSearchParams" : [],
|
"candidateFilterSearchParams" : [],
|
||||||
"matchFields" : [],
|
"matchFields" : [],
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams": [],
|
"candidateSearchParams": [],
|
||||||
"candidateFilterSearchParams": [],
|
"candidateFilterSearchParams": [],
|
||||||
"matchFields": [
|
"matchFields": [
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"version": "1",
|
||||||
|
"candidateSearchParams" : [],
|
||||||
|
"candidateFilterSearchParams" : [],
|
||||||
|
"matchFields" : [ {
|
||||||
|
"name" : "given-name",
|
||||||
|
"resourceType" : "*",
|
||||||
|
"resourcePath" : "name.given",
|
||||||
|
"similarity" : {
|
||||||
|
"algorithm": "COSINE",
|
||||||
|
"threshold": 0.8
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
"matchResultMap" : {
|
||||||
|
"given-name" : "POSSIBLE_MATCH"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams" : [],
|
"candidateSearchParams" : [],
|
||||||
"candidateFilterSearchParams" : [],
|
"candidateFilterSearchParams" : [],
|
||||||
"matchFields" : [ {
|
"matchFields" : [ {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "1",
|
"version": "1",
|
||||||
|
"mdmTypes": ["Patient", "Practitioner", "Medication"],
|
||||||
"candidateSearchParams" : [],
|
"candidateSearchParams" : [],
|
||||||
"candidateFilterSearchParams" : [],
|
"candidateFilterSearchParams" : [],
|
||||||
"matchFields" : [ {
|
"matchFields" : [ {
|
||||||
|
|
Loading…
Reference in New Issue