Skip to content

Latest commit

 

History

History
88 lines (71 loc) · 4.29 KB

README.md

File metadata and controls

88 lines (71 loc) · 4.29 KB

Goal

Transform FHIR Coverage instances - from version 1.4 to R4 using:

Assumptions

  • no 'out of the box' support for FHIR 1.4, therefore in an attempt to circumvent this, the respective StructureDefinitions were obtained and used (note- not sure if this approach is valid/workable, but we are giving it a try)

What we have done

  1. Coverage v1.4 StructureDefinition

  2. Coverage R4 StructureDefinition

  3. FML map file

    • created FML file: coveragev14toR4.map
    • Added the above 2 URLs into the map file as source and target (see here)
    • added FML rules to transform various v1.4 elements to respective R4 elements
  4. v1.4 example Coverage instance

    • an example from the v1.4 FHIR specification was downloaded to use as the input to the transform
    • saved here
    • a couple of optional elements not present were added in order to invoke the respective rule (ie network and contract)
  5. Transform operation

  6. Transform result

    • an instance of Coverage is successfully generated, however there are some gaps - see below
Transformed output
<?xml version="1.0" encoding="UTF-8"?>
<Coverage xmlns="http://hl7.org/fhir">
  <identifier>
    <system value="http://benefitsinc.com/certificate"/>
    <value value="12345"/>
  </identifier>
  <dependent value="1"/>
  <period>
    <start value="2014-05-23"/>
    <end value="2012-05-23"/>
  </period>
  <network value="test"/>
  <contract>
    <reference value="Contract/4"/>
    <display value="Contract no 4"/>
  </contract>
</Coverage>

Transform gaps

  1. Coverage.issuerReference -> Coverage.payor

    • v1.4 Coverage.issuerReference is member of choice group Coverage.issuer and is of datatype Reference
    • R4 Coverage.payor is of datatype Reference
    • a number of rule variations have not yet yielded a successful transform
    • note that a transform of Coverage.contract -> Coverage.contract (also datatype Reference) does yield success
  2. Coverage.beneficiaryReference -> Coverage.beneficiary

    • as datatype Reference - same issue as above
  3. Datatype transform Coding to CodeableConcept

    • cannot figure out how to transform these elements:
      • Coverage.type (Coding) -> Coverage.type (CodeableConcept)
      • Coverage.relationship (Coding) -> Coverage.relationship (CodeableConcept)
    • see rule attempt here