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

Version 2 - FHIR Mapping Scenarios

From HL7Wiki
Revision as of 11:12, 27 March 2015 by Rene spronk (talk | contribs)
Jump to navigation Jump to search

The testing scenarios below are in preparation for FHIR CAT #9 in Paris.

During testing we distinguish between three kinds of actors:

  • FHIR Client
  • FHIR Server: a software application with the capability to receive and process FHIR based requests. The server need not have a stiorage capability for FHIR resources.
  • Transformation Agent: the software component that transforms HL7v2 to FHIR and/or vice versa. The role of Transformation Agent will be combined with that of a FHIR client and/or a FHIR Server.

ADT Query

Demographics and visit query according to IHE ITI specs (IHE ITI Volume 2a, section 3.22 "Patient Demographics and Visit Query").

  1. Test for Transformation Agent / FHIR Client:
    • Determine the ID of a patient which has an active encounter on a particular FHIR server. Edit the HL7v2.5 query example to include that identifier.
    • Process/read a HL7v2.5 QBP^ZV1 query, send corresponding query to FHIR server, transform response to HL7 v2.5 RSP^ZV2.
    • Determine the ID of a patient which doesn't have an active encounter; edit the HL7v2.5 query example to include that identifier and retest the transformation process.
  2. Notes:
  3. Example/test messages:
xx to do xxxxxxxx

ADT

Hl7v2.5 ADT messages: process a sequence comprised of A31, A01, A02, A08, A03 trigger events. The sequence A31-A01-A02 will contain 2 allergies, A08 drops one allergy (A08 and A03 only contain 2 allergies).

  1. Test for Transformation Agent / FHIR Client:
    • (easy option, assumes that the FHIR Server supports Messaging) - process/read this sequence of HL7v2.5 messages, transform each of them to a FHIR Message, send FHIR messages to FHIR Server.
    • (difficult option, assumes that the FHIR server only supports REST) - process/read this sequence of HL7v2.5 messages, transform each of them into a series of FHIR resources, query/update/delete resources on the FHIR Server.
      • The Transoformation agent will have to detect that one allergy has been dropped from the message -compared to the previous message about the same patient and encounter-, and that an allergy has to be deleted.
      • A provenance resource SHOULD be created to document the fact that certain resources were sourced from a single message
  2. Test for FHIR server:
    • If the FHIR Server supports Messaging it should be able to detect 'information which has been removed from a snapshot'
      • Tt will have to detect that one allergy has been dropped from the message -compared to the previous message about the same patient and encounter-, and that an allergy has to be deleted
  3. Notes:
    • You SHOULD populate the text option in the generated resources
    • See David hay's blog for his reflections on this kind of mapping.
  4. Example/test messages:
xxx to do xxxxxxxxxx


Lab Results

HL7v2.5 Lab results: a sequence comprised of ORU temporary result, and ORU final result. Chem tests.

  • This requires updating of existing resources, which is a challenge in that there are no unique resource.ids in HL7 v2.
  1. Notes:
    • The following policy applies: given that the Lab system isn't the 'master' when it comes to data OTHER than the actual results (ORC/OBR/OBX/SPM/SAC/..) all other data should be considered to be references (to e.g. patient/encounter) only. The Transformation Agent should (somehow) inform the server that certain resources should NOT be updated.
    • You SHOULD populate the text option in the generated resources

Microbiology Results (advanced)

HL7v2.5 Microbiology results: an ORL message.

  1. Notes:
    • This requires that one links observations related to the organisms with observations related to the susceptabilities of those organisms to antobiotics.
    • OBX-4 is used as a grouping mechanism, in the example below OBX(3)-OBX(6) are linked to OBX(1) because they share the same value ("1") in OBX-4. OBX(7)-OBX(11) are related to OBX(2) because they share the same value ("2") in OBX-4.
    • The following policy applies: given that the Lab system isn't the 'master' when it comes to data OTHER than the actual results (ORC/OBR/OBX/SPM/SAC/..) all other data should be considered to be references (to e.g. patient/encounter) only. The Transformation Agent should (somehow) inform the server that certain resources should NOT be updated.
    • You SHOULD populate the text option in the generated resources
SPM||20099329-735||VB^BLOODSAMPLE^L|
OBR|4|2740X^OE|BC376^MIC|99040^Blood culture|||200903290800|||99-2^Jones^James||^Hepatitis risk||200903290830|BLDV|4010^Intern^Eric^^^^MD^L|+47(0)3214321 X3472^^^^^^^3472|||||200903301000|35.00|MB|F|
OBX|1|CE|600-7^MICROORGANISM IDENTIFIED^LN|1|^E Coli|||A|||F|
OBX|2|CE|600-7^MICROORGANISM IDENTIFIED^LN|2|^S Aureus|||A|||F|
OBX|3|ST|28-1^AMIPICILLIN:SUSC:PT:ISLT:QN:MIC^LN|1|<2|ug/ml||S|||F|
OBX|4|ST|60-4^CARBENICILLIN:SUSC:PT:ISLT:QN:MIC^LN|1|<16|ug/ml||S|||F|
OBX|5|ST|267-5^GENTAMICIN:SUSC:PT:ISLT:QN:MIC^LN|1|<2|ug/ml||S|||F|
OBX|6|ST|496-0^TETRACYCLINE:SUSC:PT:ISLT:QN:MIC^LN|1|<1|ug/ml||S|||F|
OBX|7|ST|28-1^AMIPICILLIN:SUSC:PT:ISLT:QN:MIC^LN|2|<2|ug/ml||S|||F|
OBX|8|ST|408-5^PIPERACILLIN:SUSC:PT:ISLT:QN:MIC^LN|2|<8|ug/ml||S|||F|
OBX|9|ST|145-3^CEFUROXIME:SUSC:PT:ISLT:QN:MIC^LN|2|<2|ug/ml||S|||F|
OBX|10|ST|161-0^CEPHALOTHIN:SUSC:PT:ISLT:QN:MIC^LN|2|<8|ug/ml||S|||F|
OBX|11|ST|20-8^AMOXICILLIN+CLAVULANATE:SUSC:PT:ISLT:QN:MIC^LN|2|<4|ug/ml||S|||F|