Details
-
Change Request
-
Resolution: Persuasive
-
Medium
-
US Da Vinci Patient Cost Transparency (PCT) (FHIR)
-
1.0.0
-
Financial Mgmt
-
PCT AEOB Bundle
PCT Advanced EOB
PCT GFE Bundle -
-
Corey Spears / Lenel James : 9 - 0 - 0
-
Correction
-
Compatible, substantive
Description
The IG Publisher added FHIR Path expression checking since the last publication. This checking unearthed a number of issues in the IG. These expressions currently do not work as expected or defined in the descriptions.
Below are the proposed changes with explanations:
Invariant pct-aeob-1
Currently is defined with the expression
extension.where(url='http://hl7.org/fhir/us/davinci-pct/StructureDefinition/serviceDescription').exists() or item.extension.where(url='http://hl7.org/fhir/us/davinci-pct/StructureDefinition/serviceDescription').exists()
However it is being applied to ExplanationOfBenefit.item.extension[serviceDescription]. (in addition to the root ExplanationOfBenefit. ExplanationOfBenefititem.extension does not have the element item as a member. The root ExplanationOfBenefit is the appropriate place to apply the invariant.
- Remove the pct-aeob-1 invariant from ExplanactionOfBenefit.item.extension[serviceDescription]
Invariant pct-aeob-2
Currently is defined with the expression
adjudication.where(category.coding.code='submitted').exists() or item.adjudication.where(category.coding.code='submitted').exists()
The issue is that category could have multiple coding elements, which if true causes unexpected results.
- Change pct-aeob-2 to the expression
adjudication.where(category.coding.where(code='submitted')).exists() or item.adjudication.where(category.coding.where(code='submitted')).exists()
Invariant pct-aeob-3
Currently is defined with the expression
adjudication.where(category.coding.code='submitted').exists() or item.adjudication.where(category.coding.code='submitted').exists()
Same kind of issue as pct-aeob-2
- Change pct-aeob-3 to the expression
adjudication.where(category.coding.where(code='memberliability')).exists() or item.adjudication.where(category.coding.where(code='memberliability')).exists()
Invariant pct-aeob-bundle-2
Currently is defined with the expression
entry.resource.ofType(Organization).exists(type.coding.code='pay')
Same kind of issue as pct-aeob-2
- Change pct-aeob-bundle-2 to the expression
entry.resource.ofType(Organization).where(type.coding.where(code='pay')).exists()
Invariant pct-gfe-bundle-2
Currently is defined with the expression
entry.resource.ofType(Organization).exists(type.coding.code='pay')
Same kind of issue as pct-aeob-2
- Change pct-gfe-bundle-2 to the expression
entry.resource.ofType(Organization).where(type.coding.where(code='pay')).exists()
Invariant pct-gfe-bundle-1
Currently is defined with the expression
(Bundle.entry.resource.ofType(Claim).extension.where(url='http://hl7.org/fhir/us/davinci-pct/StructureDefinition/gfeSubmitter').valueReference.reference.distinct().count() = 1)
However, the proper way in FHIRPath to get a choice element by type is using TypeOf
- Change pct-gfe-bundle-1 to the expression
(Bundle.entry.resource.ofType(Claim).extension.where(url='http://hl7.org/fhir/us/davinci-pct/StructureDefinition/gfeSubmitter').value.ofType(Reference).reference.distinct().count() = 1)