Code Monkey home page Code Monkey logo

ci-medicare-records's People

Contributors

davidmckillop avatar dbojicic-agency avatar dtr-agency avatar jaymeemurdoch avatar richardton avatar robeastwood-agency avatar satyayelisetti avatar udaychandrupatla avatar vikasmittal-dh avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ci-medicare-records's Issues

Incorrect FHIRPath in Consent Australian Organ Donor Register inv-dh-cons-01 and -02

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

The invariants

inv-dh-cons-01: If donation decision is 'permit', there SHALL be a specific organ (except.data.reference).

and

inv-dh-cons-02: If donation decision is 'deny', there SHALL NOT be a specific organ (except.data.reference).

fail for valid examples. In the FHIRPath expressions the antecedents are always true, so e.g. an instance with donation-decision of 'permit' and with a specific organ (except.data.reference) will fail with an error against inv-dh-cons-02.

What I expected to happen

Correct the FHIRPath expression:

  1. In inv-dh-cons-01, replace

donationDecision.valueCodeableConcept.coding.code='160654005' implies except.exists()

with

extension.where(url='http://ns.electronichealth.net.au/ci/fhir/StructureDefinition/extension-donationdecision').value.coding.where(system='http://snomed.info/sct' and code='160654005').exists()

  1. In inv-dh-cons-02, replace

donationDecision.valueCodeableConcept.coding.code='161034004' implies except.empty()

with

extension.where(url='http://ns.electronichealth.net.au/ci/fhir/StructureDefinition/extension-donationdecision').value.coding.where(system='http://snomed.info/sct' and code='161034004').exists()

Workarounds

Do not validate against the profile.

The package name should be in an Agency space

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

The package name set in ig.json is in the HL7 AU name space: "npm-name": "hl7.fhir.au.dh.medicare-records".
This is only correct if this is an HL7 AU managed profile, which this is not.
The package name should be in a name space managed by the Agency.

What I expected to happen

Use a new and appropriate package name

Steps to reproduce

View https://github.com/AuDigitalHealth/ci-medicare-records/blob/master/ig.json

Screenshots

N/A

Workarounds

None

QA.html excerpt

Dependency Checks:

Dependency Checks Package Version FHIR Release Canonical Web Base Comment
_ hl7.fhir.au.dh.medicare-records 2.0.1 3.0.2 http://ns.electronichealth.net.au/ci/fhir    
_ hl7.fhir.au.base 0.9.3 3.0.1 http://hl7.org.au/fhir http://hl7.org.au/fhir/2018Sep  

Desktop (please complete the following information):

  • Date this bug was detected: 10/05/2021

Additional context

Unnecessary element extensions injected by case tool when authoring profiles

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Medicare profile differential contains two types of undesired element extensions that have been injected by the case tool used to author StructureDefinitions.

Type 1 - binding name extension

extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
        <valueString value="BenefitSubCategory"/>
</extension>

Type 2 - explicit type name extension

<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Item"/>
</extension>

What I expected to happen

As a result of fixing this the differential should only include intended constraints on the base definition.

Workarounds

Do nothing. There is no behaviour change to operations performed with the StructureDefinition.

Australian Immunisation Register Immunisation - vaccinationProtocol.immunisation-dose-schedule-1 not always available

The issue / feature

Change description

Make 0..1 Australian Immunisation Register Immunisation - vaccinationProtocol.immunisation-dose-schedule-1

What it actually enables people to do

Allows one to supply immunisation information when there is no available dose schedule information

Additional context

Required for Services Australia to supply vaccination information to My Heath Record.

Remove unused StructureDefinitions to align to changed scope of EUIR project

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

Enhanced Use of Immunisation Records (EUIR) Project has provided advice that scope of FHIR payload has changed to remove:

  1. all immunisation status observations
  2. all disclaimer
  3. immunisation dose schedule information
  4. next immunisations

What it actually enables people to do

Clarity on actual implementation scope.

Workarounds

Do nothing - no profile enforces the use of these unusued StructureDefinitions.

AIR profiles on Patient / subject have AU IHI rules introduced - impact assessment & design agreement documentation needed

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

In 2.0.0 additional constraints on identifier population have been added to the AIR profiles only.

Please provide the evidence that the design approach change to the provision and handling logical identifiers for a patient to the Medicare FHIR payload provided by Services Australia to the MHR system has been understood and agreement by parties.

Out of interest was this a requested by NIO or Services Australia? very handy to know if either of those parties were the originator of this request.

Evidence may be satisfied by attachment of emails, or links to other pages etc.

Please identify in the comment the benefit proposition to enforcing these specific constraints.

Please identify in the comment what the expected impact or action is to the rest of the Medicare data provided by Services Australia - has a migration plan been agreed for the others, is this set of changes only to be limited to the AIR portion? Is this now a commitment by the MHR system when or if they surface this data to provide content in this exact way.... are they actually storing the FHIR and thus able to meet this requirement? I thought they threw it away?

What I expected to happen

Evidence of design agreement or reversion of introduced change.

Immunization Australian Immunisation Register - consider including major version number in the URL to manage breaking changes

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

The Australian Immunisation Register Immunisation (StructureDefinition-immunization-air) profile has been updated in v2.1.0 of the implementation guide, including removing some of the unused version 1 and adding new functionality; subsequently the profile major version number increased. The profile URL has not changed between the versions.

It is recommended (though not required) to include major version number in the canonical URL for a profile so that it can be referenced by its major version. Managing version dependencies can also be done by other methods (e.g. managing a set of resources with specific versioned references via an Implementation Guide).

How would NIO & Services Australia like to manage breaking changes in the future?

What it actually enables people to do

Allow a reference to a particular business version of the structure definition.

How awesome would it be?

Workarounds

N/A

Additional context

N/A

Implementation Guide content - apply the latest standards

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

This implementation guide has different formatting and content presentation and standards to other CI Agency FHIR implementation guides. Apply the latest standards for presentation of the informative content in a Agency CI FHIR implementation guide.

What it actually enables people to do

Aligned presentation of the informative content in this and all other Agency CI FHIR implementation guides would improve readability between different implementation guides and decrease potential confusion caused by different presentation and convention.

Mockups

N/A

How awesome would it be?

Workarounds

Additional context

N/A

Incorrect FHIRPath in Explanation of Benefit Medicare inv-dh-eob-01, -02 and -04

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

The invariants

inv-dh-eob-01: A PBS or RPBS claim SHALL include a prescription. (: (item.category.coding.code='pbs' or item.category.coding.code='rpbs') implies prescription.exists())

inv-dh-eob-02: A MBS or DVABS claim SHALL NOT include a prescription. (: (item.category.coding.code='mbs' or item.category.coding.code='dva') implies prescription.exists().not())

inv-dh-eob-04: A PBS claim (subType='pbs') SHALL be of type 'Pharmacy' (type='pharmacy'). (: subType.coding.code='pbs' implies type.coding.code='pharmacy')

fail for valid examples. In the FHIRPath expressions the antecedents are always true, so e.g.

  • a PBS claim with item.category.coding.code of 'pbs' with a prescription and no type, fails against invariant inv-dh-eob-04
  • a PBS claim with subType of 'pbs' and no item.category fails against invariant inv-dh-eob-02
  • an MBS claim with subType of 'mbs' and no item.category fails against invariant inv-dh-eob-01

What I expected to happen

Correct the FHIRPath for all invariants.

Workarounds

Do not validate against the profile.

au base dependence :: must be 2018 Sep

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

v1.0.0 used the 2018 September of AU Base - it is not normatively equivalent to have all the FHIR profiles enforce the type to v1.1.1 of AU Base. The normative changes are numerous and material.

In this current draft all StructureDefinitions that type a reference to an AU Base profile are NOT backwards compatible.

This is a significant product configuration change. There would need to be agreement to move from the fixed AU Base version to the new one and institute changes across the board has been made and is documented.

Unusable mandatory slice in Consent Australian Organ Donor Register

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Nothing can match the slice category:organDonationConsent, as its use of FixedCodeableConcept does not set discriminator values in a way suitable for slicing.

What I expected to happen

Define a slice that the validator can match against the discriminator

Workarounds

Do not validate against the profile.

Declared Disclaimer profile - redo design to be AIR disclaimer

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

Definition of the profile - title, id, name, url
This is not for the generic concept of a 'declared disclaimer' - it is intended to be constrained for a particular payload of Medicare repository to MHR system. As per the other profiles for this IG the scoping for that particular implementation payload should be reflected in the definition of this profile.

Basic.text
This profile requires text.status=additional. No other value is acceptable given the profile design. This rule should be added to the profile.

What it actually enables people to do

Supports targeted and appropriate content, prevents misuse and misleading or poor quality exchange.

Mockups

If applicable, add screenshots or mockups to help explain the issue / feature.

How awesome would it be?

Helpful

Workarounds

n/A

Additional context

TBD

ExtensionDonationDecision :: erroneous slicing on value[x]

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Probably caused by tooling limitations at the time, but the extension includes a slice for value[x] that is not required; instead the extension can simply constrain the type.
For example, in an instance of ExtensionDonationDecision:

          "id": "Extension.value[x]",
            "path": "Extension.value[x]",
            "slicing": {
                "discriminator": [{
                    "type": "type",
                    "path": "$this"
                }],
                "ordered": false,
                "rules": "closed"
            },
            "short": "Value of extension",
            "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
            "min": 1,
            "max": "1",
            "base": {
                "path": "Extension.value[x]",
                "min": 0,
                "max": "1"
            },
            "type": [{"code": "dateTime"}],

Suggest removing the slicing and adding a constraint on the value.type instead. This change should not have any normative impacts but it is an improvement in terms of processing requirements and implementing correct profiling practices. 

Remove referral support - not supplied by Services Australia

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Advice provided from NIO that Service Requestor from Services Australia for MBS has never been received in the past, and is not part of the live feed design.

Impact to design
ADHA Medicare ExplanationOfBenefit ExplanationOfBenefit.referral is not to be supported and the ADHA MBS DVA ReferralRequest profile governing that element is not required.

Actions

  1. Update ADHA Medicare ExplanationOfBenefit to remove any differential of ExplanationOfBenefit.referral
  2. ADHA MBS DVA ReferralRequest is to be archived.

ConsentDonationDecision :: StructureDefinition.description needs an update

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

StructureDefinition.description should be updated to include the text 'used to represent' instead of 'represents'.

The same fix to be applied to intro.md.

FHIR artefact title + name to align to naming policy

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

To reduce confusion on publication jurisdiction the title & name should be updated to include ADHA in line with the Agency R4 artefact naming policy.

Incorrect use of contained resources in Explanation of Benefit Medicare

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

In Explanation of Benefit Medicare the elements referral and prescription are required to refer to contained resources.

This assertion was made due to a misunderstanding of contained resources and prevents using this resource as intended.

The most serious problem is that it is impossible to validly include a prescription in Explanation of Benefit Medicare. This is because the element prescription is a contained reference to Medication Request Pharmaceutical Benefits Scheme; it has a required element, medicationReference, which is also a contained reference, and contained resources cannot be nested.

What I expected to happen

Redesign with business owners a solution with less or no containment.
Relax requirements for containment.

Workarounds

Do not validate against the profile.

Remove use of AIR acronym including in AIR Notice (Flag) profile

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Use of AIR acronym is inconsistent - not in the Immunization profile but used in the Flag profile. Current preference is to remove from Flag profile, and various IG pages - but in either case consistency should be improved.

This is trivial and doesn't impede implementation or have normative impact.

Use of fixedCodeableConcept in Consent profile

Prerequisites

  • [x ] I have verified the problem exists in the available content
  • [ x] I have searched open and closed issues to make sure it isn't already reported
  • [ x] I have written a descriptive issue title

The bug

Consent Australian Organ Donor Register profile sets the value on Consent.category:organDonationConsent and Consent.except.action using fixedCodeableConcept. Fixing the value in this way prohibits parts of CodeableConcept that are intended to be optional including CodeableConcept.text and CodeableConcept.coding.display.

What I expected to happen

  • I suggest using patternCodeableConcept in place of fixedValueCodeableConcept

Steps to reproduce

This is visible in the snapshot display in the IG. The lines in the structure definitions can be found by finding "fixedCodeableConcept"

VaccineSerialNumber :: erroneous slicing on value[x]

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Probably caused by tooling limitations at the time, but the extension includes a slice for value[x] that is not required; instead the extension can simply constrain the type.

For example, in an instance of ExtensionDonationDecision:

          "id": "Extension.value[x]",
            "path": "Extension.value[x]",
            "slicing": {
                "discriminator": [{
                    "type": "type",
                    "path": "$this"
                }],
                "ordered": false,
                "rules": "closed"
            },
            "short": "Value of extension",
            "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
            "min": 1,
            "max": "1",
            "base": {
                "path": "Extension.value[x]",
                "min": 0,
                "max": "1"
            },
            "type": [{"code": "dateTime"}],

Suggest removing the slicing and adding a constraint on the value.type instead. This change should not have any normative impacts but it is an improvement in terms of processing requirements and implementing correct profiling practices. 

Originally raised by @dbojicic-agency https://jira.digitalhealth.gov.au/browse/AN-461

Support live feed extension for medication form and strength in Medicare Records IG

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

The PBS / RPBS live feed includes medication form and strength by referencing an extension with an Agency canonical URL http://ns.electronichealth.net.au/fhir/StructureDefinition/medication-form-and-strength however this extension does not exist.

A similar Mobile Gateway extension http://ns.electronichealth.net.au/fhir/v1.2.0/StructureDefinition/medication-form-and-strength is published but cannot be used as it is an earlier forwards incompatible version of FHIR.

If the FHIR payload needs to carry this information the Agency should create and publish this extension in the Medicare Records FHIR implementation guide.

Sample snippet below

{
            "resourceType": "Medication",
            "id": "9b28d0a1-ba17-11ec-833a-b1763b0a7715",
            "extension": [
                {
                    "url": "http://ns.electronichealth.net.au/fhir/StructureDefinition/medication-form-and-strength",
                    "valueString": "BENZYLPENICILLIN 3G INJECTION, 1 VIAL"
                }
            ],
...

Correct use of term Schedule to Scheme for PBS

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The bug

Instances of Pharmaceutical Benefits Schedule to be corrected to Pharmaceutical Benefits Scheme.

ExtensionDateInitialRegistration :: erroneous slicing on value[x]

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The bug

Probably caused by tooling limitations at the time, but the extension includes a slice for value[x] that is not required; instead the extension can simply constrain the type.
For example, in an instance of ExtensionDonationDecision:

          "id": "Extension.value[x]",
            "path": "Extension.value[x]",
            "slicing": {
                "discriminator": [{
                    "type": "type",
                    "path": "$this"
                }],
                "ordered": false,
                "rules": "closed"
            },
            "short": "Value of extension",
            "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
            "min": 1,
            "max": "1",
            "base": {
                "path": "Extension.value[x]",
                "min": 0,
                "max": "1"
            },
            "type": [{"code": "dateTime"}],

Suggest removing the slicing and adding a constraint on the value.type instead. This change should not have any normative impacts but it is an improvement in terms of processing requirements and implementing correct profiling practices. 

Remove Date of Initial Registration from AODR - not supplied by Services Australia

Prerequisites

  • I have verified the problem exists in the available content
  • I have searched open and closed issues to make sure it isn't already reported
  • I have written a descriptive issue title

The issue / feature

Advice provided from NIO that Date of Initial Registration from Services Australia for AODR is not part of the Live Feed.

Impact to design
ADHA Australian Organ Donor Register Consent Consent.dateInitialRegistration is not to be supported and the Date of Initial Registration extension structure is not required.

Actions

  1. Update ADHA Australian Organ Donor Register Consent to remove any differential of Consent.dateInitialRegistration
  2. Date of Initial Registration is to be archived.

Update the definition of Must Support

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

Currently the Must Support information is included in the informative content of a profile.
Update definition of Must Support to be in accordance with FHIR conformance rules on must support and the profiling rules on must support, and to be in line with other CI Agency profiles. This includes moving the definition of must support to StructureDefinition.description.

What it actually enables people to do

Mockups

N/A

How awesome would it be?

Workarounds

Additional context

N/A

Include practitioner-classification extension in MBS - supplied by Services Australia

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Advice provided from NIO that practitioner-classification extension is part of the live feed from Services Australia for MBS.

Impact to design
The contained Practitioner resource referenced in ExplanationOfBenefit.provider governed by profile ADHA Medicare ExplanationOfBenefit is to support the practitioner-classification extension.

Actions

  1. Update intro material on ADHA Medicare ExplanationOfBenefit to include mention of the practitioner-classification extension.

Improve all examples :: update and align to live feed

Prerequisites

  • I have searched open and closed issues to make sure it isn't already requested or reported
  • I have written a descriptive issue title

The issue / feature

Change description

Examples have not been improved since v1.0.0. Some concepts used are now inactive, some are syntactically correct but not clinically consistent.

Across the board examples should be improved - and aligned to live feed from Services Australia.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.