MDM Evaluate Operation
$mdm-evaluate
is a custom Smile CDR operation, which you can use to test out different MDM algorithms available and get match results based on the input values.
This operation is only available when a FHIR persistence module is configured to use MDM. This operation will be available on the base FHIR endpoint url.
This operation takes in Parameters
FHIR resource for inputs and responds with a Parameters
resource with the match results.
$mdm-evaluate
in order to execute this operation.DSTU3
and FHIR versions released after.matcher
type algorithms:
IDENTIFIER
EXTENSION_ANY_ORDER
Parameter name | Cardinality | Type | Description |
---|---|---|---|
compareTo | 1..1 | String | The input string to compare. |
compareWith | 1..1 | String | The input string to compare against. |
algorithmType | 1..1 | String | The algorithm type matcher or similarity . |
algorithm | 1..1 | String | The algorithm name to use for evaluation. |
threshold | 0..1 | Decimal | The match threshold to check with. Note: This is not required for matcher type but required for similarity type algorithm. |
Parameter name | Cardinality | Type | Description |
---|---|---|---|
match | 1..1 | Boolean | true or false based on the evaluation. |
score | 0..1 | String | The match score based on the evaluation. Note: This is only returned for similarity type evaluation. |
Below is a sample request and response when using $mdm-evaluate
for similarity
type algorithm.
POST http://fhir.example.com/baseR4/$mdm-evaluate
Sample request body
{
"resourceType":"Parameters",
"parameter":[
{
"name":"compareTo",
"valueString":"My tsring"
},
{
"name":"compareWith",
"valueString":"My string"
},
{
"name":"algorithmType",
"valueString":"similarity"
},
{
"name":"algorithm",
"valueString":"JARO_WINKLER"
},
{
"name":"threshold",
"valueDecimal":0.5
}
]
}
Sample response body
{
"resourceType": "Parameters",
"parameter": [
{
"name": "match",
"valueBoolean": true
},
{
"name": "score",
"valueDecimal": 0.974
}
]
}
Below is a sample request and response when using $mdm-evaluate
for matcher
type algorithm.
POST http://fhir.example.com/baseR4/$mdm-evaluate
Sample request body
{
"resourceType":"Parameters",
"parameter":[
{
"name":"compareTo",
"valueString":"Gail"
},
{
"name":"compareWith",
"valueString":"Gael"
},
{
"name":"algorithmType",
"valueString":"matcher"
},
{
"name":"algorithm",
"valueString":"CAVERPHONE1"
}
]
}
Sample response body
{
"resourceType": "Parameters",
"parameter": [
{
"name": "match",
"valueBoolean": true
}
]
}