Difference between revisions of "Transport Pattern Mapping"

From IHE Wiki
Jump to navigation Jump to search
Line 6: Line 6:
 
* the recommendation of using CORS has impact on HTTP level: http://enable-cors.org/. Discussed in http://www.hl7.org/implement/standards/fhir/security.html
 
* the recommendation of using CORS has impact on HTTP level: http://enable-cors.org/. Discussed in http://www.hl7.org/implement/standards/fhir/security.html
  
== HTTP verbs used for basic operations on resources in FHIR ==
+
== HTTP verbs used for basic operations on a (single) resource in FHIR ==
 
* POST - create
 
* POST - create
 
* PUT - update  
 
* PUT - update  
Line 17: Line 17:
  
 
=== Transaction ===
 
=== Transaction ===
This operation can facilitate Provide & Register Document Set-b (ITI-41, ITI-42) and "Update Document Set" (ITI-57) transactions. It can create and update a set of resources (authors, documents) in one transaction:
+
This operation can facilitate Provide & Register Document Set-b (ITI-41, ITI-42), "Update Document Set" (ITI-57) and "Delete Document Set" (ITI-62) transactions. It can create and update a set of resources (authors, documents) in one transaction:
 
* If entry.content is omitted, the resulting operation is closer to Register (ITI-42).  
 
* If entry.content is omitted, the resulting operation is closer to Register (ITI-42).  
 
* If entry.id refers to an existing resource, it mimicks "Update Document Set"
 
* If entry.id refers to an existing resource, it mimicks "Update Document Set"
 +
* If entry.deleted specifies a date before now, the entry will be deleted.
  
Open issue: there is a note about the ability to delete resources, but I couldn't figure out how a delete would be implemented.
+
=== Read ===
 +
This operation can be used for the current Retrieve Document Set transaction, although it can only be used for one resource. The "search" operation might be an alternative.
  
 
=== Delete ===
 
=== Delete ===
 
This operation can be mapped to Delete Document Set, but only works for individual resources.
 
This operation can be mapped to Delete Document Set, but only works for individual resources.
 +
 +
== Resources ==
 +
Resources in FHIR can be represented in JSON, XML and as Binary.
 +
 +
=== Binary ===
 +
Binary representations can be created, and fetched using a specific location on the resource. Search is not supported for these resources.
 +
 +
=== Bundles ===
 +
Operations on sets of resources are performed on resource bundles. In XML these are represented as Atom Feeds. The JSON representation is a custom format that honors order of resource attributes.

Revision as of 07:11, 18 July 2014

FHIR-MHD Transport Pattern Mapping Notes

HTTP verbs used for basic operations on a (single) resource in FHIR

  • POST - create
  • PUT - update
  • DELETE - delete
  • GET - read

There are some exceptions to this scheme: the "transaction" operation utilizes POST to create or update a set of resources (resource bundle) atomically.

Mapping of FHIR operations to existing XDS transactions

Transaction

This operation can facilitate Provide & Register Document Set-b (ITI-41, ITI-42), "Update Document Set" (ITI-57) and "Delete Document Set" (ITI-62) transactions. It can create and update a set of resources (authors, documents) in one transaction:

  • If entry.content is omitted, the resulting operation is closer to Register (ITI-42).
  • If entry.id refers to an existing resource, it mimicks "Update Document Set"
  • If entry.deleted specifies a date before now, the entry will be deleted.

Read

This operation can be used for the current Retrieve Document Set transaction, although it can only be used for one resource. The "search" operation might be an alternative.

Delete

This operation can be mapped to Delete Document Set, but only works for individual resources.

Resources

Resources in FHIR can be represented in JSON, XML and as Binary.

Binary

Binary representations can be created, and fetched using a specific location on the resource. Search is not supported for these resources.

Bundles

Operations on sets of resources are performed on resource bundles. In XML these are represented as Atom Feeds. The JSON representation is a custom format that honors order of resource attributes.