This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "201601 PATCH Connectathon Track Proposal"

From HL7Wiki
Jump to navigation Jump to search
(update links to point to 2.1 Connectathon snapshot)
Line 37: Line 37:
 
:Precondition: EHR should expose GET resource with the JSON format
 
:Precondition: EHR should expose GET resource with the JSON format
 
:Success Criteria:  
 
:Success Criteria:  
:Bonus point: MedicationStatement must expose the [http://hl7.org/fhir/dstu2/medicationstatement.html#search meta.versionId and meta.lastUpdated] fields and support search by patient.
+
:Bonus point: MedicationStatement must expose the [http://hl7.org/fhir/2016Jan/medicationstatement.html#search meta.versionId and meta.lastUpdated] fields and support search by patient.
  
 
===Patch MedicationStatement===
 
===Patch MedicationStatement===
:Action: FHIR Client sends PATCH to EHR /MedicationStatement resource using [http://jsonpatch.com/ JSON Patch] format to update the [http://hl7.org/fhir/dstu2/medicationstatement-definitions.html#MedicationStatement.status MedicationStatement.status]
+
:Action: FHIR Client sends PATCH to EHR /MedicationStatement resource using [http://jsonpatch.com/ JSON Patch] format to update the [http://hl7.org/fhir/2016Jan/medicationstatement-definitions.html#MedicationStatement.status MedicationStatement.status]
 
:Precondition: EHR should expose PATCH resource honoring the [http://jsonpatch.com/ JSON Patch] format.
 
:Precondition: EHR should expose PATCH resource honoring the [http://jsonpatch.com/ JSON Patch] format.
 
:Success Criteria:  
 
:Success Criteria:  
:Bonus point: Rejecting the update if there is a [http://hl7.org/fhir/dstu2/http.html#2.1.0.10.1 version conflict]. Support for updating other fields (eg: [http://hl7.org/fhir/dstu2/medicationstatement-definitions.html#MedicationStatement.note note]).
+
:Bonus point: Rejecting the update if there is a [http://hl7.org/fhir/2016Jan/http.html#concurrency version conflict]. Support for updating other fields (eg: [http://hl7.org/fhir/2016Jan/medicationstatement-definitions.html#MedicationStatement.note note]).
  
 
Grahame's comment: JSON Patch is pretty dumb. There should be better ways to patch. I'll propose one....
 
Grahame's comment: JSON Patch is pretty dumb. There should be better ways to patch. I'll propose one....

Revision as of 06:28, 8 January 2016


FHIR PATCH for MedicationStatement

Submitting WG/Project/Implementer Group

This is something FHIR Core requested feedback on DSTU 2: http://hl7.org/fhir/dstu2/http.html#update

Justification

There are real world use cases for some form of PATCH, for example, to update only the status of a specific resource, to update or add a comment, and many other single or limited field updates. With the way FHIR currently defines an update, the client should send in the full resource exactly as received, with the single field changed. This is sometimes challenging, both for the FHIR server and the Client. For example, if a client application does not support storing a specific field the server exposes, how will it send it back? If the FHIR server receives an update request where a field is missing, how does it know the intention was to blank/null that field out?

Proposed Track Lead

Jenni Syed

  Email: jenni dot syed at cerner dot com
  Skype: jenni.syed

Expected participants

Cerner (Jenni Syed)

Grahame Grieve


Roles

EHR

Exposes the FHIR MedicationStatement resource with GET (search) and PATCH methods available.

FHIR Client

Has the ability to GET and PATCH MedicationStatement.


Scenarios

Search MedicationStatement

Action: FHIR Client sends GET to EHR /MedicationStatement resource with patient parameter
Precondition: EHR should expose GET resource with the JSON format
Success Criteria:
Bonus point: MedicationStatement must expose the meta.versionId and meta.lastUpdated fields and support search by patient.

Patch MedicationStatement

Action: FHIR Client sends PATCH to EHR /MedicationStatement resource using JSON Patch format to update the MedicationStatement.status
Precondition: EHR should expose PATCH resource honoring the JSON Patch format.
Success Criteria:
Bonus point: Rejecting the update if there is a version conflict. Support for updating other fields (eg: note).

Grahame's comment: JSON Patch is pretty dumb. There should be better ways to patch. I'll propose one....

Example Patch

PATCH open/Patient/1 HTTP/1.1 Content-Type: application/json-patch+json

[{ "op": "add", "path": "/active", "value": "false" }]

TestScript(s)