Stream: implementers
Topic: Adding extensions to sliced Patient.identifier
Ross Shnaper (Dec 05 2017 at 03:09):
I've added a custom extension similar to US Core data-absent-reason to Patient.identifier and am getting a validation error below. Can someone point out what I've done wrong?
Could not match discriminator (url) for slice Patient.identifier:hcnidentifier.extension:absentreason in profile http://cihi.ca/fhir/irrs/StructureDefinition/irrs-patient - does not have fixed value, binding or existence assertions
<element id="Patient.identifier:hcnIdentifier.extension">
<path value="Patient.identifier.extension"/>
<slicing>
<discriminator>
<type value="value"/>
<path value="url"/>
</discriminator>
<rules value="open"/>
</slicing>
</element>
<element id="Patient.identifier:hcnIdentifier.extension:absentReason">
<path value="Patient.identifier.extension"/>
<sliceName value="absentReason"/>
<min value="0"/>
<max value="1"/>
<type>
<code value="Extension"/>
<profile value="http://cihi.ca/fhir/irrs/StructureDefinition/irrs-ext-data-absent-reason"/>
</type>
<fixedUri value="http://cihi.ca/fhir/irrs/StructureDefinition/irrs-ext-data-absent-reason"/>
<constraint>
<key value="irrs-patient-hcn-unknown"/>
<severity value="error"/>
<human value="Please provide province code when HCN is unknown"/>
<expression value="identifier.extension('http://cihi.ca/fhir/irrs/StructureDefinition/irrs-ext-data-absent-reason').where(type='JHN').exists() implies adress.state.where(use='old').exists()"/>
</constraint>
<mustSupport value="true"/>
<binding>
<strength value="required"/>
<valueSetReference>
<reference value="http://cihi.ca/fhir/irrs/ValueSet/irrs-data-absent-reason"/>
</valueSetReference>
</binding>
</element>
Lloyd McKenzie (Dec 05 2017 at 03:15):
You can't have a fixedUri for something with a type of extension. As well, does the irrs-ext-data-absent-reason define a fixed value for Extension.url?
Last updated: Apr 12 2022 at 19:14 UTC