HL7Norway / basisprofiler-r4

HL7 FHIR Base profiles for Norway - R4
https://simplifier.net/guide/no-basis-entities-individuals
17 stars 2 forks source link

Valideringsfeil i no-basis filene (slicing of non-repeating elements) #55

Closed thomiz closed 3 years ago

thomiz commented 4 years ago

Forvaltningsspøkelset kommer.

Den pakken som ligger ute nå har flere valideringsfeil med siste versjon av den offisielle validatoren. Da vi publiserte benyttet vi en eldre versjon av validatoren og da validerte alt OK. .NET validatoren på SIMPLIFIER validerer dette OK.

Historikk

Det er flere grunner til at dette har oppstått:

Utfordringer

Utfordringen med å ha ressurser som ikke validerer i den offisielle validatoren er at vi kan få problemer med å ta i bruk det offisielle IG publisher verktøyet. I tillegg til at det ser dumt ut å ha normative ressurser som ikke validerer i de offisielle verktøyene.

Vi må ha på plass noen retningslinjer for hvordan dette skal håndteres på no-basis og for andre normative ressurser fra HL7 Norge og andre aktører.

Mulige løsninger

oaassv commented 4 years ago

Det er en liten nøtt, og enig i at det ikke er uheldig at de ikke validerer. Når du refererer til det offisielle IG publisher - tenker du på Grahames verktøy?

thomiz commented 4 years ago

Tenker på HL7 sine offisielle validering/publiserings verktøy. De er vel utviklet av Grahame ja, men det er et større team bak det nå såvidt jeg forstår.

oaassv commented 4 years ago

Spørsmålet er da kanskje også hva som er det offisielle valideringsverktøyet hvis det er forskjell mellom IG-publisher og Simplifier. Det er jo generelt uheldig fra HL7-side hvis slikt skjer og er vel et tema for Connectahons. Inntil videre forholder vel vi oss primært til Simplifier og kan kanskje primært forholde oss til det. Men fortsatt en nøtt at det er forskjell mellom versjoner. Bør også løftes til TSK - kan du ta en prensentasjon i november?

rockphotog commented 4 years ago

Vanskelig - det er FHIR-spesifikasjonen som er normativ, mens verktøyene -- som man er helt avgengig av -- er i bevegelse og ikke treffer 100% med spesifikasjonen.

rockphotog commented 4 years ago

Generelt mener jeg at kun publisere differentials hjelper mye på lesbarheten. Å gå gjennom en profil som inneholder ekstremt mye "rask" er vanskelig. Mange, meg undertegnet, ønsker å se på kildekoden direkte og ikke bare gjennom et rendret view, som Simplifier.

thomiz commented 4 years ago

Har startet på arbeidet i denne branchen https://github.com/HL7Norway/basisprofiler-r4/tree/Bugfix-validering

Fjernet alle snapshots Hoder på å fikse noen slice feil, sjekk ut denne tråden: https://chat.fhir.org/#narrow/stream/179166-implementers/topic/Slicing.20non-repeating.20elements.20to.20define.20a.20choice

Sjekk forøvrig changelog: https://github.com/HL7Norway/basisprofiler-r4/blob/Bugfix-validering/Changelog-20x.md

(dessverre har ikke simplifier og github samme markdown flavor for tabeller så changelogg ser helt idiotisk ut her).

oaassv commented 3 years ago

Kan vi si at denne er lukket på basis av godkjent forslag i TSK om kun å bruke diff-profilering?

thomiz commented 3 years ago

Ja, denne skulle egentlig vært lukket basert på pull-requests #60

MEN, jeg har ikke sjekket at de nye versjonene faktisk validerer feilfritt i HL7 sin Java validator, @kennethmyhra har validert på SIMPLIFIER (.NET validator). Det er heller ikke utført tester med validering av faktiske eksempler mot profilene så vidt jeg vet. Men det står ikke i sjekklistene våre så da så...

https://github.com/HL7Norway/best-practice/blob/master/docs/no-national-checklist.md

thomiz commented 3 years ago

Offisiell validator klarer ikke generere snapshot for disse:

Process Note: Unable to generate snapshot for no-basis-Practitioner: Attempt to a slice an element that does not repeat: Practitioner.qualification.code/Practitioner.qualification.code from http://hl7.org/fhir/StructureDefinition/Practitioner in http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner Process Note: Unable to generate snapshot for no-basis-AllergyIntolerance: Attempt to a slice an element that does not repeat: AllergyIntolerance.code/AllergyIntolerance.code from http://hl7.org/fhir/StructureDefinition/CodeableConcept in http://hl7.no/fhir/StructureDefinition/no-basis-AllergyIntolerance Process Note: Unable to generate snapshot for no-basis-HealthcareService: Attempt to a slice an element that does not repeat: Reference.identifier/Reference.identifier from http://hl7.org/fhir/StructureDefinition/Reference in http://hl7.no/fhir/StructureDefinition/no-basis-HealthcareService Process Note: Unable to generate snapshot for no-basis-Endpoint: Attempt to a slice an element that does not repeat: Endpoint.connectionType/Endpoint.connectionType from http://hl7.org/fhir/StructureDefinition/Endpoint in http://hl7.no/fhir/StructureDefinition/no-basis-Endpoint

Vi har feilaktig slicet non-repeating elements: https://chat.fhir.org/#narrow/stream/179166-implementers/topic/Slicing.20non-repeating.20elements.20to.20define.20a.20choice

MEN skal vi vente til HL7 fikser det eller skal vi fikse selv med å opprette flere ValueSet's? https://chat.fhir.org/#narrow/stream/179166-implementers/topic/How.20to.20bind.20multiple.20ValueSets

thomiz commented 3 years ago

Jira tracker for slicing non repeating elements: https://jira.hl7.org/browse/FHIR-28619

thomiz commented 3 years ago

Kan løses ved å flytte slicen i strukturen:

Må løses på andre måter:

Innspill? @kennethmyhra @rockphotog @daghammer @olemartinwinnem @oaassv Kan vi diskutere disse innspillene til fix på neste TSK, først i møtet, bør ikke ta lang tid?

thomiz commented 3 years ago

Har fikset alle feilene unntatt AllergyIntolerance. Så nå får vi validert no-basis.

Fix bugs for validation with official java validator. Remove all snapshots from definitons. Fix errors in slicing: Slicing discussion

Date: 2021-06-15

Date: 2020-10-17

thomiz commented 3 years ago

@olemartinwinnem @daghammer Har dere mulighet til å fikse AllergyIntolerance slicen, så kan jeg lage en pull request. Bare fortsett i denne branchen: https://github.com/HL7Norway/basisprofiler-r4/tree/Bugfix-validering

thomiz commented 3 years ago

Bør oppdatere constraint i HealthcareService.providedBy til å teste:

thomiz commented 3 years ago
thomiz commented 3 years ago

no-basis-AllergyIntolerance Fixed wrong slice definition on non repeating element (1..1), slicing on code.coding element instead

thomiz commented 3 years ago

Publisert som versjon 2.0.17