Giter VIP home page Giter VIP logo

au-fhir-base-stu3's People

Contributors

brianpos avatar davidmckillop avatar dbojicic-agency avatar grahamegrieve avatar richardton avatar robeastwood-agency avatar rodney-collins-agency avatar satyayelisetti avatar udaychandrupatla avatar vikasmittal-dh avatar

Watchers

 avatar  avatar  avatar

au-fhir-base-stu3's Issues

au-address :: IG Publisher not validating absolute paths and regular expressions

Fix the invariants in au-address profile with the following-

  1. change invariant 0,1,2 to have relative paths

  2. move invariant 3 to address element level

  3. correct the syntax of invariant 3 to remove the country = 'AU' as there is already a fixed value constraint for country = 'AU'

  4. correct the regular expression for invariant 3 to have ('^[0-9]{4}$')

Medication.code has invariants that always fail.

An example is inv-amt-tpp
The root of the problem is that the tests of membership of a value set always fail.

The invariants test whether codes are in the appropriate value set, e.g. whether a code that claims to be for a medication of type BPDSF is in the amt-tpuu-codes value set. The membership test "code in 'http://hl7.org.au/f..." always fails. I believe this is a problem with configuration of something. What I do not know. Maybe the IG's build files, the validator, the terminology server, something else.

There are also other problems with the FHIRPath.

I propose to fix the other problems and also change the invariants thus: replace

There are no instances of coding where the system is SNOMED CT, there is an extension asserting the medication type, and the code is not in the relevant value set

with

There are no instances of coding where the system is SNOMED CT, there is an extension asserting the medication type, tests of value set membership are working, and the code is not in the relevant value set

For example
<expression value="coding.where(system='http://snomed.info/sct' and extension.where(url='http://hl7.org.au/fhir/StructureDefinition/medication-type').value.code='BPG' and ('69857011000036106' in 'http://hl7.org.au/fhir/ValueSet/amt-tpp-codes') and code.exists() and (code in 'http://hl7.org.au/fhir/ValueSet/amt-mpp-codes').not()).empty()" />

When the test of value set membership starts working, the extra condition can be removed.

Medication.package.batch - restrict max cardinality to 0..1

This issue relates to (AU Base Medication)[https://build.fhir.org/ig/hl7au/au-fhir-base-stu3//StructureDefinition-au-medication.html].

Medication.package.batch has max cardinality 0..1 in R4 and FHIR current build.
Initial design for HL7 Au Base Medication also had 0..1; not sure why/when this got changed back to 0..*.

Please revert to 0..1 to be consistent with the R4 approach.

IGs deriving from the new v1.1.1 snapshot has broken links

Profiles that have been derived from a HL7 AU STU3 v1.1.1 version have broken links to their source profiles.

For example, we are deriving a patient profile from the HL7 AU Base Patient profile. Having updated the package dependency in the ig.json file to 1.1.1, and rebuilding, the link to "AUBasePatient" now points to a non-existent file on my local PC. Specifically, the hyperlink is

file:///C:/Users/Administrator/Documents/GitHub/au-fhir-base-stu3-1-1/output/StructureDefinition-au-patient.html

My PC does not have such a folder and it looks like this value has been hard-coded somewhere in the input files. The file (C:\Users\rob.eastwood.fhir\packages\hl7.fhir.au.base#1.1.1\package\package.json) in the downloaded v1.1.1 package has this line:

"url": "file://C:\\Users\\Administrator\\Documents\\GitHub\\au-fhir-base-stu3-1-1\\output",

This can also be seen on the HL7 AU Child Health IG, eg for the baby patient profile

Slices of 1..1 elements create contradictory profiles

Where a 1..1 polymorphic element is sliced by type, unless the slices are explicitly given a min cardinality of 0, they get a min cardinality of 1. Which makes a profile that is impossible to conform to. See Zulip thread Slicing mandatory elements

Explicitly set the min cardinality of slices to 0 in affected profiles.
This includes
Medication.ingredient.item[x]
MedicationRequest.medication[x]
MedicationDispense.medication[x]
MedicationStatement.medication[x]
MedicationAdministration.medication[x]

Encounter and Dosage - change to preferred binding instead of a slice

"AU Base Encounter" profile:
Encounter.hospitalization.dischargeDisposition - has a slice on coding, but the terminology wasn't working; hence by removing the slice, moving the binding to the CodeableConcept, and making the binding "preferred" the design is simplified and the problems of the previous design are resolved.

Similar issue exists with the slices on "AU base Dosage" Profile:

  • Dosage.additionalInstruction
  • Dosage.asNeededCodeableConcept
  • Dosage.route
  • Dosage.site.coding

Medication.ingredient.item -AMT slice on Coding only allows for AMT MP codes

Medication.ingredient.item[x]:itemCodeableConcept.coding is sliced on value:system, with an
amtMP slice defined with binding to AMT Medicinal Product with the strength of required. This does not allow for any other SNOMED codes, e.g. substance codes, which is an issue. Maybe remove the slice and bind Medication.ingredient.item[x]:itemCodeableConcept to the AMT with the strength of preferred? Is that an option given this profile has been through a ballot?

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.