201605 Conditional Reference Connectathon Proposal
Conditional Reference
Submitting WG/Project/Implementer Group
Justification
In many scenarios, FHIR resources can be uniquely (re-)identified by their common business identifier (e.G.). Since FHIR resources however can only be referenced by their server assigned resource id, referencing to reources that are known by the client only by theri business identifier requires an additional step to retreivethe resource matching that business identifier, extracting the resource ID and then create a reference accordingly.
In the context of Transactions, it is required to include bogus Resources with conditional create/update requests in order to be able to create references.
The proposal has been made to allow conditional references with the same syntax as conditional updates.
Example:
A client App scans a barcode encoding a patient ID. Instead of searching for the patient resource on the server and extracting the resource id in order to create Observations referencing the patient, the client can create an Observation as follows:
<Observation>
<subject> <reference value="Patient?identifier=12345"/> </subject>
</Observation>
The server is expected to
a) replace the conditional reference by the actual id of the one resource that matches the criteria
b) return an error (412 - precondition failed) if no resource matches the criteria
c) return an error (412 - precondition failed) if multiple resources matches the criteria
Other possible use cases are
- Referencing an Insurance Organisation by the National Insurance Identifier
- Referencing a Location by it's name
- V2 mapping scenarios
Proposed Track Lead
Simone Heckmann
- Email: simone dot heeckmann at health-comm dot de
See Connectathon_Track_Lead_Responsibilities
Expected participants
- Simone Heckmann (Health-Comm): Client implementation (V2 Mapping Scenarios)
Roles
Client
Server
Scenarios
Scenario Step 1 Name
- Action:
- Precondition:
- Success Criteria:
- Bonus point: