{
  "resourceType": "OperationDefinition",
  "id": "ihe-pix",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h2> Find patient matches using IHE PIXm based logic</h2><p> OPERATION: Find patient matches using IHE PIXm based logic</p><p> The official URL for this operation definition is: </p><pre> http://ihe.net/fhir/OperationDefinition/IHE_PIXm_pix</pre><div><p> A Master Patient Index (\n          <a href=\"http://en.wikipedia.org/wiki/Enterprise_master_patient_index\">MPI</a>  ) is a service used to manage patient identification in a context where multiple patient\n           databases exist. Healthcare applications and middleware use the MPI to match patients\n           between the databases, and to store new patient details as they are encountered. MPIs\n           are highly specialized applications, often tailored extensively to the institution's particular\n           mix of patients. MPIs can also be run on a regional and national basis.\n        </p><p> To ask an MPI to match a patient, clients use the \"$match\" operation, which\n           accepts a patient resource which may be only partially complete. The data provided is\n           interpreted as an MPI input and processed by an algorithm of some kind that uses the data\n           to determine the most appropriate matches in the patient set.  Note that different MPI\n           matching algorithms have different required inputs. The generic $match operation does\n           not specify any particular algorithm, nor a minimum set of information that must be provided\n           when asking for an MPI match operation to be performed, but many implementations will\n           have a set of minimum information, which may be declared in their definition of the $match\n           operation by specifying a profile on the resource parameter, indicating which properties\n           are required in the search.  The patient resource submitted to the operation does not\n           have to be complete, nor does it need to pass validation (i.e. mandatory fields don't\n           need to be populated), but it does have to be a valid instance, as it is used as the reference\n           data to match against.</p></div><p> URL: [base]/Patient/$match</p><p> Parameters</p><table class=\"grid\"><tr><td><b> Use</b></td><td><b> Name</b></td><td><b> Cardinality</b></td><td><b> Type</b></td><td><b> Binding</b></td><td><b> Documentation</b></td></tr><tr><td> IN</td><td> resource</td><td> 1..1</td><td><a href=\"resource.html\">Resource</a></td><td /><td><div><p> Use this to provide an entire set of patient details for the MPI to match against (e.g.\n                 POST a patient record to Patient/$match).</p></div></td></tr><tr><td> IN</td><td> onlyCertainMatches</td><td> 0..1</td><td><a href=\"datatypes.html#boolean\">boolean</a></td><td /><td><div><p> If there are multiple potential matches, then the match should not return the results\n                 with this flag set to true.  When false, the server may return multiple results with each\n                 result graded accordingly.</p></div></td></tr><tr><td> IN</td><td> count</td><td> 0..1</td><td><a href=\"datatypes.html#integer\">integer</a></td><td /><td><div><p> The maximum number of records to return. If no value is provided, the server decides how\n                 many matches to return. Note that clients should be careful when using this, as it may\n                 prevent probable - and valid - matches from being returned</p></div></td></tr><tr><td> OUT</td><td> return</td><td> 1..1</td><td><a href=\"bundle.html\">Bundle</a></td><td /><td><div><p> A bundle contain a set of Patient records that represent possible matches, optionally\n                 it may also contain an OperationOutcome with further information about the search results\n                 (such as warnings or information messages, such as a count of records that were close\n                 but eliminated)  If the operation was unsuccessful, then an OperationOutcome may be returned\n                 along with a BadRequest status Code (e.g. security issue, or insufficient properties in\n                 patient fragment - check against profile)</p></div></td></tr></table><div><p> The response from an \"mpi\" query is a bundle containing patient records, ordered\n           from most likely to least likely. If there are no patient matches, the MPI SHALL return\n           an empty search set with no error, but may include an operation outcome with further advice\n           regarding patient selection. All patient records SHALL have a search score from 0 to 1,\n           where 1 is the most certain match, along with an extension \"\n          <a href=\"extension-match-grade.html\">match-grade</a> \" that indicates the MPI's position on the match quality.\n        </p></div></div>"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 5
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    }
  ],
  "url": "http://ihe.net/fhir/OperationDefinition/IHE_PIXm_pix",
  "version": "2.0.0",
  "name": "Find patient matches using IHE-PIXm Profile",
  "status": "draft",
  "kind": "operation",
  "date": "2019-06-14",
  "publisher": "Integrating the Healthcare Enterprise (IHE)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://ihe.net"
        },
        {
          "system": "email",
          "value": "secretary@ihe.net"
        }
      ]
    }
  ],
  "description": "A Master Patient Index ([MPI](http://en.wikipedia.org/wiki/Enterprise_master_patient_index)    ) is a service used to manage patient identification in a context where multiple patient    databases exist. Healthcare applications and middleware use the MPI to match patients    between the databases, and to store new patient details as they are encountered. MPIs    are highly specialized applications, often tailored extensively to the institution's particular    mix of patients. MPIs can also be run on a regional and national basis.    To ask an MPI to match a patient, clients use the \"$match\" operation, which    accepts a patient resource which may be only partially complete. The data provided is    interpreted as an MPI input and processed by an algorithm of some kind that uses the data    to determine the most appropriate matches in the patient set.  Note that different MPI    matching algorithms have different required inputs. The generic $match operation does    not specify any particular algorithm, nor a minimum set of information that must be provided    when asking for an MPI match operation to be performed, but many implementations will    have a set of minimum information, which may be declared in their definition of the $match    operation by specifying a profile on the resource parameter, indicating which properties    are required in the search.  The patient resource submitted to the operation does not    have to be complete, nor does it need to pass validation (i.e. mandatory fields don't    need to be populated), but it does have to be a valid instance, as it is used as the reference    data to match against.",
  "code": "match",
  "comment": "The response from an \"mpi\" query is a bundle containing patient records, ordered    from most likely to least likely. If there are no patient matches, the MPI SHALL return    an empty search set with no error, but may include an operation outcome with further advice    regarding patient selection. All patient records SHALL have a search score from 0 to 1,    where 1 is the most certain match, along with an extension \"[match-grade](extension-match-grade   .html)\" that indicates the MPI's position on the match quality.",
  "resource": [
    "Patient"
  ],
  "system": false,
  "type": true,
  "instance": false,
  "parameter": [
    {
      "name": "sourceIdentifier",
      "use": "in",
      "min": 1,
      "max": "1",
      "documentation": "The Patient identifier search parameter that will be used by the Patient Identifier Cross-reference Manager to find cross matching identifiers associated with the Patient Resource. See Section 3.83.4.1.2.1.",
      "type": "Token"
    },
    {
      "name": "targetSystem",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The target Patient Identifier Assigning Authority from which the returned identifiers should be selected. See Section 3.83.4.1.2.2.",
      "type": "uri"
    },
    {
      "name": "_format",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "The requested format of the response. See ITI TF-2x: Appendix Z.6",
      "type": "mime-type"
    },
    {
      "name": "targetIdentifier",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "The identifier found. Constraints to include the assigning authority as specified in ITI TF-2x: Appendix E.3",
      "type": "Identifier"
    },
    {
      "name": "targetId",
      "use": "out",
      "min": 0,
      "max": "*",
      "documentation": "The URL of the Patient Resource",
      "type": "Reference(Patient)"
    }
  ]
}