Skip to content

Commit

Permalink
Merge pull request #7 from hl7ch/feature/codesystems-supplements
Browse files Browse the repository at this point in the history
codesystems supplements, condition added
  • Loading branch information
walterwellauer authored Jun 15, 2021
2 parents 5a7530f + 29967c3 commit 306f728
Show file tree
Hide file tree
Showing 5 changed files with 245 additions and 7 deletions.
5 changes: 3 additions & 2 deletions input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ Alias: $ext-openEHR-exposureDuration = http://hl7.org/fhir/StructureDefinition/o
Alias: $ext-openEHR-exposureDescription = http://hl7.org/fhir/StructureDefinition/openEHR-exposureDescription
Alias: $ext-openEHR-location = http://hl7.org/fhir/StructureDefinition/openEHR-location
Alias: $ext-openEHR-management = http://hl7.org/fhir/StructureDefinition/openEHR-management
/*Alias: $vs-clinicalStatus = http://hl7.org/fhir/R4/codesystem-allergyintolerance-clinical */
/*Alias: $vs-verificationStatus = http://hl7.org/fhir/R4/codesystem-allergyintolerance-verification */
Alias: $vs-type = http://hl7.org/fhir/R4/codesystem-allergy-intolerance-type
Alias: $vs-category = http://hl7.org/fhir/R4/codesystem-allergy-intolerance-category
Alias: $vs-criticality = http://hl7.org/fhir/R4/codesystem-allergy-intolerance-criticality
Expand All @@ -42,3 +40,6 @@ Alias: $codesystem-allergyintolerance-verification = http://hl7.org/fhir/R4/code
Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical
Alias: $allergyintolerance-verification = http://terminology.hl7.org/CodeSystem/allergyintolerance-verification
Alias: $allergyintolerance-certainty = http://terminology.hl7.org/CodeSystem/reaction-event-certainty
Alias: $allergyintolerance-type = http://hl7.org/fhir/allergy-intolerance-type
Alias: $allergyintolerance-criticality = http://hl7.org/fhir/allergy-intolerance-criticality
Alias: $allergyintolerance-severity = http://hl7.org/fhir/reaction-event-severity
Empty file added input/fsh/codeSystems.fsh
Empty file.
211 changes: 211 additions & 0 deletions input/fsh/instances.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,214 @@ Usage: #example
* identifier.value = "7601000050717"
* name.family = "Agpar"
* name.given = "Marc"

Instance: allergyintolerance-clinical-supplement
InstanceOf: CodeSystem
Usage: #definition
* url = "http://fhir.ch/ig/ch-allergyintolerance/CodeSystem/allergyintolerance-clinical-supplement"
* version = "20210615"
* name = "AllergyIntoleranceClinicalStatus"
* status = #draft
* experimental = true
* date = "2021-06-15"
* publisher = "HL7 Switzerland"
* contact.name = "FHIR project team"
* contact.telecom.system = #url
* contact.telecom.value = "https://www.hl7.ch/"
* description = "Code supplement with translations of CHAllergyIntolerance clinical status"
* jurisdiction = urn:iso:std:iso:3166#CH
* content = #supplement
* supplements = $allergyintolerance-clinical
* concept[0].code = #active
* concept[=].display = "Active"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Aktiv"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Actif"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Attiva"
* concept[+].code = #inactive
* concept[=].display = "Inactive"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Inaktiv"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Inactif"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Inattiva"
* concept[+].code = #resolved
* concept[=].display = "Resolved"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Behoben"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Résolu"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Risolta"

Instance: allergyintolerance-verification-supplement
InstanceOf: CodeSystem
Usage: #definition
* url = "http://fhir.ch/ig/ch-allergyintolerance/CodeSystem/allergyintolerance-verification-supplement"
* version = "20210615"
* name = "AllergyIntoleranceVerificationStatus"
* status = #draft
* experimental = true
* date = "2021-06-15"
* publisher = "HL7 Switzerland"
* contact.name = "FHIR project team"
* contact.telecom.system = #url
* contact.telecom.value = "https://www.hl7.ch/"
* description = "Code supplement with translations of CHAllergyIntolerance verification status"
* jurisdiction = urn:iso:std:iso:3166#CH
* content = #supplement
* supplements = $allergyintolerance-verification
* concept[0].code = #unconfirmed
* concept[=].display = "Unconfirmed"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Unbestätigt"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Pas confirmé"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Non confermata"
* concept[+].code = #confirmed
* concept[=].display = "Confirmed"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Bestätigt"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Confirmé"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Confermata"
* concept[+].code = #refuted
* concept[=].display = "Refuted"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Widerlegt"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Réfuté"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Contestata"
* concept[+].code = #entered-in-error
* concept[=].display = "Entered in Error"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Irrtümlich eingegeben"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Saisie erronée"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Immessa per errore"

Instance: allergyintolerance-type-supplement
InstanceOf: CodeSystem
Usage: #definition
* url = "http://fhir.ch/ig/ch-allergyintolerance/CodeSystem/allergyintolerance-type-supplement"
* version = "20210615"
* name = "AllergyIntoleranceType"
* status = #draft
* experimental = true
* date = "2021-06-15"
* publisher = "HL7 Switzerland"
* contact.name = "FHIR project team"
* contact.telecom.system = #url
* contact.telecom.value = "https://www.hl7.ch/"
* description = "Code supplement with translations of CHAllergyIntolerance type"
* jurisdiction = urn:iso:std:iso:3166#CH
* content = #supplement
* supplements = $allergyintolerance-type
* concept[0].code = #allergy
* concept[=].display = "Allergy"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Allergie"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Allergie"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Allergia"
* concept[+].code = #intolerance
* concept[=].display = "Intolerance"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Intoleranz"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Intolérance"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Intolleranza"

Instance: allergyintolerance-criticality-supplement
InstanceOf: CodeSystem
Usage: #definition
* url = "http://fhir.ch/ig/ch-allergyintolerance/CodeSystem/allergyintolerance-criticality-supplement"
* version = "20210615"
* name = "AllergyIntoleranceCriticalityStatus"
* status = #draft
* experimental = true
* date = "2021-06-15"
* publisher = "HL7 Switzerland"
* contact.name = "FHIR project team"
* contact.telecom.system = #url
* contact.telecom.value = "https://www.hl7.ch/"
* description = "Code supplement with translations of CHAllergyIntolerance criticality status"
* jurisdiction = urn:iso:std:iso:3166#CH
* content = #supplement
* supplements = $allergyintolerance-criticality
* concept[0].code = #low
* concept[=].display = "Low Risk"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Geringes Risiko"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Risque faible"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Basso rischio"
* concept[+].code = #high
* concept[=].display = "High Risk"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Hohes Risiko"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Risque élevé"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Alto rischio"
* concept[+].code = #unable-to-assess
* concept[=].display = "Unable to Assess Risk"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Risikobewertung nicht möglich"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Impossible d’évaluer le risque"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Rischio non valutabile"

Instance: allergyintolerance-severity-supplement
InstanceOf: CodeSystem
Usage: #definition
* url = "http://fhir.ch/ig/ch-allergyintolerance/CodeSystem/allergyintolerance-severity-supplement"
* version = "20210615"
* name = "AllergyIntoleranceSeverityStatus"
* status = #draft
* experimental = true
* date = "2021-06-15"
* publisher = "HL7 Switzerland"
* contact.name = "FHIR project team"
* contact.telecom.system = #url
* contact.telecom.value = "https://www.hl7.ch/"
* description = "Code supplement with translations of CHAllergyIntolerance severity status"
* jurisdiction = urn:iso:std:iso:3166#CH
* content = #supplement
* supplements = $allergyintolerance-severity
* concept[0].code = #mild
* concept[=].display = "Mild"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Mild"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Faible"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Lieve"
* concept[+].code = #moderate
* concept[=].display = "Moderate"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Moderat"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Moyen"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Moderata"
* concept[+].code = #severe
* concept[=].display = "Severe"
* concept[=].designation[0].language = #de-CH
* concept[=].designation[=].value = "Schwer"
* concept[=].designation[+].language = #fr-CH
* concept[=].designation[=].value = "Grave"
* concept[=].designation[+].language = #it-CH
* concept[=].designation[=].value = "Grave"

34 changes: 29 additions & 5 deletions input/fsh/profiles.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ It documents the relevant allergies or intolerances (conditions) for a patient,
* extension contains AbatementDateTimeUvIps named abatement-datetime ..1 MS
* extension[abatement-datetime] ^short = "Abatement datetime"
* extension[abatement-datetime] ^definition = "The date or estimated date that the condition resolved or went into remission."
* clinicalStatus only CodeableConceptIPS
/* clinicalStatus only CodeableConceptIPS */
* clinicalStatus MS
* verificationStatus only CodeableConceptIPS
/* verificationStatus only CodeableConceptIPS */
* verificationStatus MS
* type MS
* criticality MS
* code 1..1 MS
* code only CodeableConceptIPS
/* code only CodeableConceptIPS */
* code from CHAllergyIntoleranceValueSet (preferred)
* patient only Reference(CHCorePatient)
* onsetDateTime only dateTime
Expand All @@ -47,9 +47,9 @@ It documents the relevant allergies or intolerances (conditions) for a patient,
* reaction.extension contains $ext-openEHR-management named management 0..1
* reaction.extension[management] ^short = "Text description about the clinical management provided."
* reaction.substance MS
* reaction.substance only CodeableConceptIPS
/* reaction.substance only CodeableConceptIPS */
* reaction.substance from CHAllergyIntoleranceSubstanceValueSet (preferred)
* reaction.manifestation only CodeableConceptIPS
/* reaction.manifestation only CodeableConceptIPS */
* reaction.manifestation MS
* reaction.onset MS
* reaction.severity MS
Expand Down Expand Up @@ -177,3 +177,27 @@ Description: "Definition of the bundle for the allergy intolerance document"
* entry[Composition] ^short = "Allergy Intolerance composition"
* entry[Composition].resource 1..1
* entry[Composition].resource ^type.profile = Canonical(CHAllergyIntoleranceCompositionEPR)

Profile: CHAllergyIntoleranceCondition
Parent: Condition
Id: ch-allergyintolerance-condition
Title: "CH Allergy Intolerance Condition"
Description: """This profile represents the constraints applied to the Condition resource in the context of AllergyIntolerance in the Swiss realm - in adaption of the respective examples provided in the Implementation Guide for Use of SNOMED CT in Documentation of Allergy, Non-allergic Hypersensitivity and Intolerance.

It documents the relevant allergies or intolerances (conditions) for a patient, describing the kind of reaction (e.g. rash, anaphylaxis,..); preferably the agents that cause it; and optionally the criticality and the certainty of the allergy."""
* ^version = "0.1.0"
* ^status = #draft
* ^publisher = "HL7 Switzerland"
* ^contact[0].telecom[0].system = #url
* ^contact[0].telecom[0].value = "https://www.hl7.ch"
* ^jurisdiction[0] = urn:iso:std:iso:3166#CH
* ^purpose = "This profile constrains the representation of a record of an allergy or intolerance of the patient, in the context of a Swiss patient in adaption of the one specified by the IPS project of HL7 International."
* . MS
* clinicalStatus 0..1 MS
* verificationStatus 0..1 MS
* category 0.. MS
* severity 0..1 MS
* code 1..1 MS
* code from CHAllergyIntoleranceValueSet (preferred)
* bodySite 0..* MS
* subject only Reference(CHCorePatient)
2 changes: 2 additions & 0 deletions input/pagecontent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ The value sets for coding of allergies, intolerances and hypersensities and rela
Whereas this is explicitly desired by the professional representatives it is different than stated in IPS for example, where the binding is based on expanded value sets, but which has had very little real world feedback until to date. Experience and feedback is welcome therefore in this respect.

The actual value set AllergyIntolerance.code doesn't yet include codes which exist only as post coordinated SNOMED CT expressions. They will be suggested to SNOMED CT by eHealth Suisse and added to the ci-build as soon as available as precoodinated SNOMEC CT codes and added to a future publication of this IG.

Respective examples provided in the Implementation Guide for Use of SNOMED CT in Documentation of Allergy, Non-allergic Hypersensitivity and Intolerance regarding the use of the artifacts - especially whether the AllergyIntolerance resource or the condition resource is to be used in different use cases will be provided asap in the ci-build.

0 comments on commit 306f728

Please sign in to comment.