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