Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inherited extensible bindings are misrepresented in profiles #737

Closed
RichardTON opened this issue Jun 20, 2022 · 12 comments
Closed

Inherited extensible bindings are misrepresented in profiles #737

RichardTON opened this issue Jun 20, 2022 · 12 comments
Assignees
Labels
administration Patient Administration AU Base 2

Comments

@RichardTON
Copy link
Collaborator

RichardTON commented Jun 20, 2022

There is a problem with the use of extensible bindings in AU Base.

When an element has an extensible binding to a value set, conformant instances must include a value from that value set if one is appropriate. R4's description of extensible includes

If there is at least one applicable concept in the extensibly-bound value set with a meaning which includes but is more general than the meaning that is intended to be represented by the element in the resource instance, then the code that is used in the instance SHALL be taken from the value set and should be the closest available match for the intended element instance meaning (i.e. neither more general or more specific). However, a more specific code that more completely represents the intended meaning may also be included in the instance as an additional Coding if the data type is CodeableConcept, but it cannot be used instead of the code from the value set. This helps ensure that systems know which codes they should expect to receive and build logic for and it facilitates interoperability.

The CI build of R5 has new wording for extensible with the same meaning. Related Zulip threads include Extensible binding of Identifier.type and Vocabulary WG survey on FHIR extensible binding strength.

This has not been made obvious in some HL7 AU Base profiles, they imply that it is enough to use a code from an extended version of the value set.

For example, Encounter.class in R4 is bound extensibly to V3 Value SetActEncounterCode. This includes the code VR. In AU Base Encounter class is bound to a value set with extra codes. All of the extra codes are subsumed by VR, so all conformant instances with one of the new codes need to also include VR, and there is no hint of this in the profile, or in the examples.

This problem also applies to many of the AU Base profiles of Identifier, as Identifier.type in Core has an extensible binding to IdentifierType. Note that the descriptions of the codes have been updated between R4 and R4B.

The descriptive parts of the profiles and examples need to be updated so that implementers are not misled.

See also https://jira.hl7.org/browse/FHIR-37739

@RichardTON RichardTON added administration Patient Administration PC labels Jun 20, 2022
@RichardTON
Copy link
Collaborator Author

RichardTON commented Jun 22, 2022

Review of profiles of Identifier in AU Base

Profile Candidate codes Problem Effect
AU Accession Number   Required binding to valueset with code outside IdentifierType Some conformant instances need two codings. For example, sending LACSN requires sending ACSN as well.
AU AHPRA Registration Number - A unique sequence of characters assigned to a health practitioner to indicate registration to practice in Australia PRN Required value subsumed by one in IdentifierType PRN is needed
AU Care Agency Employee Identifier PRN Required value subsumed by one in IdentifierType PRN is needed
AU Commonwealth Seniors Health Card Number SB Required value subsumed by one in IdentifierType SB is needed
AU CSP Registration Number none Required value subsumed by one in IdentifierType PRN is needed
AU Delivery Point Identifier   No probs  
AU DVA Number JHN? Required binding to valueset with code outside IdentifierType JHN is needed
AU Employee Number   No probs  
AU ETP Prescription Identifier none Required value subsumed by one in IdentifierType PLAC is needed
AU G-NAF Identifier   No probs  
AU Health Care Card Number SB Required value subsumed by one in IdentifierType SB is needed
AU HPI-I PRN Required value subsumed by one in IdentifierType PRN is needed
AU HPI-O PRN Required value subsumed by one in IdentifierType PRN is needed
AU IHI JHN Required value subsumed by one in IdentifierType JHN is needed
AU Insurance Member Number   No probs  
AU Local Dispense Identifier   No probs  
AU Local Order Identifier   No probs  
AU Local Prescription Identifier none Required value subsumed by one in IdentifierType PLAC or FILL is needed, what if it is unknown which applies? Maybe then neither PLAC nor FILL is needed.
AU Local Report Identifier   No probs  
AU Location Specific Practice Number   No probs  
AU Medical Record Number   No probs  
AU Medicare Card Number JHN Required value subsumed by one in IdentifierType JHN is needed
AU Medicare Provider Number PRN Required value subsumed by one in IdentifierType PRN is needed
AU NATA Accreditation Number PRN Required value subsumed by one in IdentifierType PRN is needed
AU NATA Site Number   No probs  
AU National Provider Identifier At Organisation PRN Required value subsumed by one in IdentifierType PRN is needed
AU PAI-D Identifier   ? Might be a UDI
AU PAI-O Identifier none Required value subsumed by one in IdentifierType PRN is needed
AU PBS Prescriber Number PRN Required value subsumed by one in IdentifierType PRN is needed
AU Pensioner Concession Card Number SB Required value subsumed by one in IdentifierType SB is needed
AU Pharmacy Approval Number PRN Required value subsumed by one in IdentifierType PRN is needed
AU Residential Aged Care Service Identifier PRN Required value subsumed by one in IdentifierType PRN is needed

@RichardTON
Copy link
Collaborator Author

RichardTON commented Jun 22, 2022

The boundary between SB and JHN is unclear. See Jira thread Identifier Type Codes. Some of the SBs and JHNs in the table above may need changing.

@RichardTON
Copy link
Collaborator Author

Subsumption in Identifier Type Codes is problematic. See https://jira.hl7.org/browse/UP-331

@dtr-agency
Copy link
Contributor

@RichardTON the WG session identified that some of the above were not applicable. and further outcomes for this. Please update this concern and progress.

@brettesler-ext
Copy link
Collaborator

@RichardTON discussed in PAWG https://confluence.hl7australia.com/display/PA/2022-07-06+Minutes

  • can we have narrative around AU Base IdentifierType being a non-hierarchal codesystem therefore we have specific codes defined for specific identifiers and will by choice chose an appropriate

@RichardTON
Copy link
Collaborator Author

RichardTON commented Aug 19, 2022

Further review of profiles of Identifier in AU Base

  • Identifier.type in Core has an extensible binding to IdentifierType value set.

  • PRN is for local provider numbers, and is not intended for identifiers that are widely recognised.

    • Identifies like HPI-Is are not local and are not within the intended scope of PRN.
  • JHN is for sub-national identifiers.

    • Identifies like IHIs are not local and are not within the intended scope of JHN. 
  • SB identifies individuals (persons, organisations) not entitlements.

    • Identifiers like AU Health Care Card Number identify entitlements and are not within the intended scope of SB.

@RichardTON
Copy link
Collaborator Author

RichardTON commented Aug 19, 2022

Identifier type profiles requiring changes:

  1. In AU Accession Number when type includes the coding LACSN it must also include the coding ACSN.

@RichardTON
Copy link
Collaborator Author

RichardTON commented Aug 30, 2022

Updated review of profiles of Identifier in AU Base

Profile Assessment Effect
AU Accession Number   According to https://jira.hl7.org/browse/FHIR-37739 "LACSN is a type of ACSN so ACSN would be the appropriate code to send and LACSN could also be sent if desired". Some conformant instances need two codings. Sending LACSN requires sending ACSN as well. I suggest drop LACSN from the profile
AU AHPRA Registration Number This is skill specific, so not a provider and thus not PRN. No others relevant. none
AU Care Agency Employee Identifier Not always providers, so not PRN. No others relevant. none
AU Commonwealth Seniors Health Card Number This is national, not state/province based, so is not JHN. This identifies an entitlement, not a person, so is not SB. Nothing else relevant. none
AU CSP Registration Number CSPs supply IT services, no health related services, so not PRN. Nothing else relevant. none
AU Delivery Point Identifier   Identifies an address. Nothing relevant. none
AU DVA Number This is national, not state/province based, so is not JHN. This identifies an entitlement, not a person, so is not SB. Nothing else relevant. none
AU Employee Number   Nothing relevant. none 
AU ETP Prescription Identifier The identifier is allocated by middleware, not the source system, so not PLAC. Nothing else relevant. none
AU G-NAF Identifier   Identifies an address. Nothing relevant. none 
AU Health Care Card Number This is national, not state/province based, so is not JHN. This identifies an entitlement, not a person, so is not SB. Nothing else relevant. none
AU HPI-I This is national, not local/jurisdictional, so not PRN. No others relevant. none
AU HPI-O This is national, not local/jurisdictional, so not PRN. No others relevant. none
AU IHI This national, not state/province based, so is not JHN. This can only be used for healthcare, so is not SB. No others relevant. none
AU Insurance Member Number  Identifies an insurance member. Nothing relevant. none 
AU Local Dispense Identifier   Identifies a dispensing. Nothing relevant. none
AU Local Order Identifier   FILL and PLAC are parents. FGN and PGN are not children of any parent none  
AU Local Prescription Identifier Could be a placer's or a filler's, not definitely PLAC or FILL, so is neither. Nothing else relevant. none
AU Local Report Identifier Identifies a report. Nothing relevant. none  
AU Location Specific Practice Number Identifies a site. Nothing relevant. none 
AU Medical Record Number MR is a parent. none  
AU Medicare Card Number This national, not state/province based so is not JHN. This may identify a set of 1 to 4 persons, so is not an SB. This identifies an entitlement, not a person, so is not SB. No others relevant. none
AU Medicare Provider Number This is location and skill specific, so not a provider and thus not PRN. No others relevant. none
AU NATA Accreditation Number Identifies an approval or license, so not a provider and thus not PRN. No others relevant. none
AU NATA Site Number Identifies a site. Nothing relevant.   none
AU National Provider Identifier At Organisation This is national, not local/jurisdictional, so not PRN. No others relevant. none
AU PAI-D Identifier   Not a UDI. No others relevant. none
AU PAI-O Identifier Not a provider and thus not PRN. No others relevant. none
AU PBS Prescriber Number Identifies an approval or license, so not a provider and thus not PRN. Not always a medical doctor so not MD. No others relevant. none
AU Pensioner Concession Card Number This is national, not state/province based, so is not JHN. This identifies an entitlement, not a person, so is not SB. Nothing else relevant. none
AU Pharmacy Approval Number Identifies an approval or license, so not a provider and thus not PRN. Not a medical doctor so not MD. No others relevant. none
AU Residential Aged Care Service Identifier Identifies a service provided by a provider, so not a provider and thus not PRN. No others relevant. none

Apart from LACSN in AU Accession Number, none of the codes in any of the profiles above is subsumed by a code in IdentifierType value set.

@RichardTON
Copy link
Collaborator Author

Originally posted by @oridashi in #737 (comment)

  • can we have narrative around AU Base IdentifierType being a non-hierarchal codesystem therefore we have specific codes defined for specific identifiers and will by choice chose an appropriate

As IdentifierType CodeSystem is a V2 code system, there is no defined hierarchy to the values. (See comment by Ted Klein in UP-331.) This does not mean that there is no subsumption. (See resolution in FHIR-37739.) None of the identifiers profiled above use codes subsumed by codes in IdentifierType value set.

Subsumption will need to be assessed in future profiles of Identifier.

@RichardTON
Copy link
Collaborator Author

AU Accession Number problem moved to #748

@brettesler-ext
Copy link
Collaborator

Need a narrative statement that 203 codesystem is NOT hierachial - leave ACSN and LACSN are not related.

@brettesler-ext brettesler-ext self-assigned this Oct 13, 2022
@RichardTON RichardTON removed their assignment Oct 13, 2022
@dt-r
Copy link
Collaborator

dt-r commented Jan 4, 2023

Fixed in commit 910e040

@dt-r dt-r closed this as completed Jan 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
administration Patient Administration AU Base 2
Projects
None yet
Development

No branches or pull requests

4 participants