Share this page:

file CA Baseline Profiles Stream

  • Posts: 60
1 year 8 months ago #7992 by Sheridan Cook
Hello Folks,

Thanks for the lively call today regarding modifier extensions and the modeling of practitioner deceased extension. We'll be having an out of cycle additional profiling call next Friday (8/19) to resolve some of the remaining technical issues that have been raised by our community of implementers that are causing issues with them using the CA Baseline package.

Next Friday we'll focus on fixing the technical aspects that are causing issues re: packaging - particularly the slicing modeling issue around practitioner.code: Registry & eReferral. Discussion around how/when we'll tackle variances in existing implementers use of terminology regarding practitioner.code will likely be initiated on the 8/26 call to ensure we tackle the technical issues prior to discuss our approach to more longstanding issues of variance.

We've published the notes from that discussion on the original issue here

Of note - the proposed FSH script below may need to be modified after today's decision on the deceased extension is applied.

Please Log in or Create an account to join the conversation.

  • Posts: 25
1 year 8 months ago #7978 by Thomas Zhou
A FSH script to reslice registry of PractitionerProfile-Registry


/******
online
Dependencies
hl7.fhir.ca.baseline#1.1.0
or local yaml
dependencies:
hl7.fhir.ca.baseline: 1.1.0
****/
Alias: $iso21090-preferred = hl7.org/fhir/StructureDefinition/iso21090-preferred
Alias: $qualifiedroletype = fhir.infoway-inforoute.ca/ValueSet/qualifiedroletype

Profile: PractitionerProfileRegistry_de
Parent: PractitionerProfileRegistry
Id: profile-practitioner-registry
Title: "Practitioner Profile (Provider Registry)"
Description: "Proposed constraints and extensions on the Practitioner Resource for use by Provider Registry systems"
* ^url = "hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner-registry"
* ^status = #draft
* ^date = "2020-07-31"
* ^publisher = "HL7 Canada - FHIR Implementation Work Group"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "infocentral.infoway-inforoute.ca/en/collaboration/wg/fhir-implementations"
* ^jurisdiction = urn:iso:std:iso:3166#CA
* . ^short = "Practitioner Profile"
* . ^definition = "The Practitioner Profile is based upon the CA Core FHIR Practitioner Profile for general use"
* extension ^slicing.discriminator.type = #value
* extension ^slicing.discriminator.path = "url"
* extension ^slicing.rules = #open
//* extension contains ExtensionDeceased named deceased 0..1 ?!
* extension[deceased] ^short = "Indicates if the individual is deceased or not."
* extension[deceased] ^definition = "The fact that a practitioner is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive."
* extension[deceased] ^comment = "If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive."
* extension[deceased] ^isModifierReason = "This element is labeled as a modifier because once a practitioner is marked as deceased, the clinical processes that the practitioner was involved in may be significantly different."
* identifier 1.. MS
* identifier only IdentifierCABaseline
* name 1.. MS
* name obeys ca-baseline-name
* telecom MS
* address.extension ^slicing.discriminator.type = #value
* address.extension ^slicing.discriminator.path = "url"
* address.extension ^slicing.rules = #open
* address.extension[preferred] 0..1
* address.extension[preferred] only $iso21090-preferred
* address.extension[preferred] ^short = "HL7 Preferred Address Flag extension"
* address.extension[preferred] ^definition = "Flag denoting whether parent address item is preferred"
* birthDate MS
* qualification.code.coding ^slicing.discriminator.type = #pattern
* qualification.code.coding ^slicing.discriminator.path = "system"
* qualification.code.coding ^slicing.rules = #open
* qualification.code.coding.system 1..
* qualification.code.coding.code 1..
//* qualification.code.coding contains Registry 0..* and eReferral 0..*
* qualification.code.coding[Registry].system 1..
* qualification.code.coding[Registry].system from $qualifiedroletype (preferred)
* qualification.code.coding[Registry].system ^short = "QualifiedRoleType"
* qualification.code.coding[Registry].system ^definition = "A code system for the degree or educational rank that the credential specifies. May also apply to an Expertise type."
* qualification.code.coding[Registry].system ^comment = "The binding strength of this element is [Preferred](www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the QualifiedRoleType code system for interoperability purposes but are not required to do so to be considered conformant."
* qualification.code.coding[Registry].system ^binding.description = "A code system for the degree or educational rank that the credential specifies"
* qualification.code.coding[Registry].code 1..
* qualification.code.coding[eReferral].system 1..
* qualification.code.coding[eReferral].system from $qualifiedroletype (preferred)
* qualification.code.coding[eReferral].system ^short = "HealthcareProviderRoleType"
* qualification.code.coding[eReferral].system ^definition = "A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services."
* qualification.code.coding[eReferral].system ^comment = "The binding strength of this element is [Preferred](www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the HealthcareProviderRoleType code system for interoperability purposes but are not required to do so to be considered conformant."
* qualification.code.coding[eReferral].system ^binding.description = "A code system that is used to categorize an entity that delivers health care"
* qualification.code.coding[eReferral].code 1..
// reslice the Registry example -begin
* qualification.code.coding[Registry] ^slicing.discriminator.type = #pattern
* qualification.code.coding[Registry] ^slicing.discriminator.path = "system"
* qualification.code.coding[Registry] ^slicing.rules = #open
* qualification.code.coding[Registry] contains Registry2 0..*
* qualification.code.coding[Registry][Registry2].code 1.. MS
// reslice the Registry example- end
Invariant: ca-baseline-name
Description: "Practitioner.name.given or Practitioner.name.family or both SHALL be present"
Severity: #error
Expression: "family.exists() or given.exists()"
XPath: "f:given or f:family"

Please Log in or Create an account to join the conversation.

InfoCentral logo

Improving the quality of patient care through the effective sharing of clinical information among health care organizations, clinicians and their patients.