hl7au / au-fhir-base-stu3 Goto Github PK
View Code? Open in Web Editor NEWSTU3 AU Base version
STU3 AU Base version
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.
From http://build.fhir.org/ig/hl7au/au-fhir-base-stu3/profiles.html the following links return 404
AU Base Immunisation Recommendation
AU Base Specimen
Fix the invariants in au-address profile with the following-
change invariant 0,1,2 to have relative paths
move invariant 3 to address element level
correct the syntax of invariant 3 to remove the country = 'AU' as there is already a fixed value constraint for country = 'AU'
correct the regular expression for invariant 3 to have ('^[0-9]{4}$')
"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:
https://jira.digitalhealth.gov.au/browse/CIFMM-2821 "HL7 AU STU3 Base Encounter + Dosage fixes"
and Vikas in his review queried whether the following code should have the " " deleted ie
The following code can be found at:
http://build.fhir.org/ig/hl7au/au-fhir-base-stu3/StructureDefinition-au-dosage.xml.html
Dosage.site.coding should be 0..* rather than constrained to 0..1 as per the following code:
Can I delete ?
Your thoughts?
Cheers
David McKillop
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?
medication-strength-text extension is not in the HL7 Au Base STU3 build anymore. It is still listed in the extensions page: http://build.fhir.org/ig/hl7au/au-fhir-base-stu3/StructureDefinition-medication-strength-text.html.
Please confirm the extension is removed from the build.
According to http://build.fhir.org/profiling.html#discriminator slicing using binding demands that the value sets have enumerated values. PBS, GTIN and AMT value sets are not and will not be enumerated value sets.
A different slicing is required.
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]
In profiles, such as Patient, the BackboneElement text in the Type column in the data hierarchies links to http://hl7.org/fhir/STU3/datatypes.html#BackboneElement when it should link to http://hl7.org/fhir/STU3/backboneelement.html
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
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.
powder | tablets | capsule + should be removed as not required as this text is inherited from the parent
http://hl7.org.au/fhir/base/aubase1.1/CodeSystem-au-hl7v2-0203.html
fix needs to be applied to STU3 version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.