The MDM endpoints in the JSON Admin API (under
/mdm/{module_id}/...) have been deprecated in favour of the corresponding $mdm-* operations on the cdr-endpoint-fhir module. This page lists each deprecated endpoint and the FHIR operation to call instead.
FHIR data access should pass through a FHIR endpoint so that the platform's full authorization model — including the CdrAuthorizationInterceptor and the user/role/permission stack on
cdr-endpoint-fhir — is enforced consistently. The admin-json MDM endpoints predate this model and bypass parts of it. The FHIR $mdm-* operations provide the same functional capabilities behind the proper authorization gate.
The deprecated admin-json MDM endpoints continue to work today and are flagged
deprecated: true in the generated OpenAPI spec. They are scheduled for removal in 2028.08.R01 or later. Plan migrations accordingly.
The mdm-algorithms and mdm-metrics endpoints on MdmController are not deprecated and remain on the JSON Admin API.
The table below maps each deprecated admin-json endpoint to its $mdm-* equivalent on cdr-endpoint-fhir. The FHIR operations are documented in the HAPI FHIR MDM Operations guide.
| admin-json endpoint | FHIR $mdm-* operation |
|---|---|
GET /mdm/{module_id}/query-links | $mdm-query-links |
GET /mdm/{module_id}/link-history | $mdm-link-history |
GET /mdm/{module_id}/duplicate-golden-resources | $mdm-duplicate-golden-resources |
POST /mdm/{module_id}/not-duplicate | $mdm-not-duplicate |
POST /mdm/{module_id}/merge-golden-resources | $mdm-merge-golden-resources |
POST /mdm/{module_id}/update-link | $mdm-update-link |
POST /mdm/{module_id}/create-link | $mdm-create-link |
POST /mdm/{module_id}/mdm-clear | $mdm-clear |
POST /mdm/{module_id}/mdm-submit | $mdm-submit |
The two APIs are functionally equivalent but the request shape differs. The admin-json variants take a JSON request body keyed by camelCase field names; the FHIR variants take a
Parameters resource (FHIR JSON or XML) and run on the FHIR endpoint base URL of the cdr-endpoint-fhir module — typically /fhir rather than /mdm/{module_id}.
For example, to query links you would change:
GET http://localhost:9000/mdm/mdm/query-links?goldenResourceId=Patient/1
to the equivalent FHIR call (note the different port and the operation name):
GET http://localhost:8000/fhir/$mdm-query-links?goldenResourceId=Patient/1
See the FHIR MDM Operations documentation for the request shape of each operation.
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.