Skip to content

Implement HL7 FHIR Patient MATCH Operation #943

Open
@granadacoder

Description

User story

Implement patient MATCH functionality.

https://www.hl7.org/fhir/patient-operation-match.html

Acceptance criteria

When I call the patient match function:

POST /myfhirapi/Patient/$match

{
  "resourceType": "Parameters",
  "id": "example",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "identifier": [
          {
            "use": "usual",
            "type": {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0203",
                  "code": "MR"
                }
              ]
            },
            "system": "urn:oid:1.2.36.146.595.217.0.1",
            "value": "12345"
          }
        ],
        "name": [
          {
            "family": [
              "Chalmers"
            ],
            "given": [
              "Peter"
            ]
          }
        ],
        "gender": "male",
        "birthDate": "1974-12-25"
      }
    },
    {
      "name": "count",
      "valueInteger": "3"
    },
    {
      "name": "onlyCertainMatches",
      "valueBoolean": "false"
    }
  ]
}

I get match results:

{
  "resourceType": "Bundle",
  "id": "26419249-18b3-45de-b10e-dca0b2e72b",
  "meta": {
    "lastUpdated": "2016-03-18T03:28:49Z"
  },
  "type": "searchset",
  "total": 2,
  "entry": [{
    "fullUrl": "http://server/path/Patient/example",
    "resource": {
      "resourceType": "Patient",
      "id": "example",
      .. snip ...
    },
    "search": {
      "extension": [{
        "url": "http://hl7.org/fhir/StructureDefinition/match-grade",
        "valueCode": "certain"
      }],
      "mode": "match",
      "score": 0.9
    }
  },{
    "fullUrl": "http://server/path/Patient/292",
    "resource": {
      "resourceType": "Patient",
      "id": "292",
      .. snip ...
    },
    "search": {
      "extension": [{
        "url": "http://hl7.org/fhir/StructureDefinition/match-grade",
        "valueCode": "possible"
      }],
      "mode": "match",
      "score": 0.2
    }
  }]
}

Metadata

Assignees

No one assigned

    Labels

    Area-APIArea related to REST APIs.Area-OperationsArea related to operations.EnhancementEnhancement on existing functionality.EpicDescribes something that would be an Epic with many features and user storiesInformationalThe issue will stay open as an FYI issue for now but does not require actionSpecificationAn issue referring or related to the FHIR SpecificationUp for grabsThe issue require minimal context and is well-suited for new contributors.VSTS-BacklogOn VSTS Backlog

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions