@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://resmed.com/fhir/core/OperationDefinition/Patient-match> a fhir:OperationDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "Patient-match"] ; # 
  fhir:text [
     fhir:status [ fhir:v "extensions" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><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>Scope</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/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/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. POST a patient record to Patient/$match) consisting of name (given, family) and birthdate.</p>\n</div></td></tr><tr><td>IN</td><td>onlyCertainMatches</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>If there are multiple potential matches, then the match should not return the results with this flag set to true. When false, the server may return multiple results with each result graded accordingly.</p>\n</div></td></tr><tr><td>IN</td><td>count</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/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 many matches to return. Note that clients should be careful when using this, as it may prevent probable - and valid - matches from being returned</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>A 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)</p>\n</div></td></tr></table></div>"
  ] ; # 
  fhir:url [ fhir:v "http://resmed.com/fhir/core/OperationDefinition/Patient-match"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.37.0"] ; # 
  fhir:name [ fhir:v "Match"] ; # 
  fhir:title [ fhir:v "Find patient matches using MPI based logic"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:kind [ fhir:v "operation"] ; # 
  fhir:date [ fhir:v "2024-01-11T18:32:48+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "ResMed Corp"] ; # 
  fhir:contact ( [
     fhir:name [ fhir:v "ResMed Corp" ] ;
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "https://www.resmed.com" ]
     ] [
       fhir:system [ fhir:v "email" ] ;
       fhir:value [ fhir:v "atomteam-halifax@resmed.com" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "To ask an Master Patient Index ([MPI](http://en.wikipedia.org/wiki/Enterprise_master_patient_index) ) 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."] ; # 
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "001" ]
     ] )
  ] ) ; # 
  fhir:affectsState [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:code [ fhir:v "match"] ; # 
  fhir:base [
     fhir:v "http://hl7.org/fhir/OperationDefinition/Patient-match"^^xsd:anyURI ;
     fhir:link <http://hl7.org/fhir/OperationDefinition/Patient-match>
  ] ; # 
  fhir:resource ( [ fhir:v "Patient"] ) ; # 
  fhir:system [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:type [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:instance [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "resource" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Use this to provide an entire set of patient details for the MPI to match against (e.g. POST a patient record to Patient/$match) consisting of name (given, family) and birthdate." ] ;
     fhir:type [ fhir:v "Resource" ]
  ] [
     fhir:name [ fhir:v "onlyCertainMatches" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "If there are multiple potential matches, then the match should not return the results with this flag set to true. When false, the server may return multiple results with each result graded accordingly." ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "count" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The maximum number of records to return. If no value is provided, the server decides how many matches to return. Note that clients should be careful when using this, as it may prevent probable - and valid - matches from being returned" ] ;
     fhir:type [ fhir:v "integer" ]
  ] [
     fhir:name [ fhir:v "return" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "1"^^xsd:integer ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "A 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)" ] ;
     fhir:type [ fhir:v "Bundle" ]
  ] ) . # 

# -------------------------------------------------------------------------------------

