Skip to main content

Search MDI Operation

Experimental

This is an early access feature and is subject to change.

OPERATION: POST [base]/Composition/$search-mdi

The Search MDI operation is used for retrieving medicolegal death investigation documents HL7 FHIR MDI Specification.

Supported Resources

This operation has been implemented for the following resources:

  • Composition (no documentation page on this yet)

Workflow

Authorization

This operation will require the application obtain authorization to update a Composition using one of the following SMART clinical scopes.

  • v1: [patient|user|system]/Composition.[read|*]
  • v2: [patient|user|system]/Composition.[s] (future)

Parameters

UseNameCardinalityTypeDocumentation
INid0..1uriComposition.id of Composition - MDI to EDRS
INtracking-number0..1tokenComposition.extension:extension-tracking-number of Composition - MDI and EDRS
INpatient0..*A list of client demographics used to match any documents containing a set or partial set of these demographics
INpatient.birthdate0..1date*Date range of decedent date of birth
INpatient.family0..1stringDecedent's last name
INpatient.given0..1stringDecedent's first name
INpatient.gender0..1tokenDecedent's gender
INpatient.mother-maiden-name0..1stringDecedent's mother's maiden name
INpatient.us-ssn0..1identifierDecedent's US Social Security Number
INpatient.suffix0..1stringName suffix of decedent (Jr., Sr., III, etc.)
INdeath-location0..1stringLocation address in Location-death
INdeath-date-pronounced0..1date*Observation.component:datetimePronouncedDead in Observative - Death Date
INdeath-date0..1date*Value (actual or presumed date of death) in Observation - Death Date
OUTreturn1..1BundleA bundle contain a set of Patient records that represent possible matches, optionally it may also contain an OperationOutcome with further information about the search results (such as warnings or information messages, such as a count of records that were close but eliminated) If the operation was unsuccessful, then an OperationOutcome may be returned along with a BadRequest status Code (e.g. security issue, or insufficient properties in patient fragment - check against profile)

Examples

curl -X POST 'https://fhir.netsmartcloud.com/v4/Composition/$search-mdi' \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-form-urlencoded" \
-d @payload.json

Payloads

Sample Search MDI Request Payload

{
"resourceType": "Parameters",
"id": "SearchMdiRequestExample",
"meta": {
"profile": [
"http://example.org/StructureDefinition/Parameters-search-mdi-request"
]
},
"parameter": [
{
"name": "tracking-number",
"valueIdentifier": {
"value": "12345"
}
},
{
"name": "patient",
"part": [
{
"name": "birthdate",
"valuePeriod": {
"start": "2000-01-01",
"end": "2000-01-01"
}
},
{
"name": "family",
"valueString": "Doe"
},
{
"name": "given",
"valueString": "John"
},
{
"name": "suffix",
"valueString": "Jr"
},
{
"name": "gender",
"valueCode": "male"
},
{
"name": "mother-maiden-name",
"valueString": "Maiden"
},
{
"name": "us-ssn",
"valueIdentifier": {
"value": "123456789"
}
}
]
},
{
"name": "death-location",
"valueString": "County"
},
{
"name": "death-date-pronounced",
"valuePeriod": {
"start": "2024-01-01",
"end": "2024-01-31"
}
},
{
"name": "death-date",
"valuePeriod": {
"start": "2024-01-01",
"end": "2024-01-31"
}
},
{
"name": "count",
"valuePositiveInt": 10
},
{
"name": "page",
"valueUnsignedInt": 0
}
]
}

Sample Search MDI Response Payload

Search MDI Success
{
"resourceType":"Bundle",
"id":"13ab1ecf-38ce-4f47-aebb-a38396a80775",
"type":"searchset",
"total":1,
"entry":[
{
"resourceType":"Bundle",
"id":"fd240814-5911-49bb-bb20-72066add4a18",
"meta":{
"profile":[
"http://hl7.org/fhir/us/mdi/StructureDefinition/Bundle-document-mdi-to-edrs"
]
},
"type":"document",
"entry":[
{
"fullUrl":"Composition/965a0688-e6f4-4bff-a96d-639cbd7ea295",
"resource":{
"resourceType":"Composition",
"id":"965a0688-e6f4-4bff-a96d-639cbd7ea295"
}
}
]
}
]
}
Invalid Search MDI Payload or Other Unprocessable Request
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"details": {
"text": "Exception message"
}
}
]
}
Rejections or Other Search MDI Processing Errors
{
"resourceType": "Parameters",
"parameter": [
// Search parameters
{
"name": "death-location",
"valueString": "a, b, c"
},
{
"name": "outcome",
"resource": {
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"details": {
"text": "status note"
}
}
]
}
}
]
}

Errors

Errors will be reported within an OperationOutcome and could include:

IssueDescriptionHTTP Status
T.B.D.T.B.D.400 Bad Request
T.B.D.T.B.D.500 Internal Server Error
T.B.D.T.B.D.501 Not Implemented