diff --git a/input/fsh/extensions/BfsDischargeDecision.fsh b/input/fsh/extensions/BfsDischargeDecision.fsh index 53815bf..2963593 100644 --- a/input/fsh/extensions/BfsDischargeDecision.fsh +++ b/input/fsh/extensions/BfsDischargeDecision.fsh @@ -9,7 +9,7 @@ Description: "BFS Extension Discharge Décision for Encounter" * url only uri * valueCoding 0..1 * valueCoding only Coding -* valueCoding from $bfs-medstats-27-dischargedecision_1 (required) +* valueCoding from $bfs-medstats-27-dischargedecision_1 (extensible) * valueCoding ^short = "Value of extension" * valueCoding ^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)." * valueCoding ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a given purpose." \ No newline at end of file diff --git a/input/fsh/extensions/BfsDischargeDestination.fsh b/input/fsh/extensions/BfsDischargeDestination.fsh index 9db3ea8..556c0c5 100644 --- a/input/fsh/extensions/BfsDischargeDestination.fsh +++ b/input/fsh/extensions/BfsDischargeDestination.fsh @@ -9,7 +9,7 @@ Description: "BFS Extension Discharge Destination for Encounter" * url only uri * valueCoding 0..1 * valueCoding only Coding -* valueCoding from $bfs-medstats-28-dischargedestination_1 (required) +* valueCoding from $bfs-medstats-28-dischargedestination_1 (extensible) * valueCoding ^short = "Value of extension" * valueCoding ^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)." * valueCoding ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a given purpose." \ No newline at end of file diff --git a/input/fsh/extensions/BfsMsAdmitRole.fsh b/input/fsh/extensions/BfsMsAdmitRole.fsh index 1335e09..d10abd7 100644 --- a/input/fsh/extensions/BfsMsAdmitRole.fsh +++ b/input/fsh/extensions/BfsMsAdmitRole.fsh @@ -9,7 +9,7 @@ Description: "BFS Extension Admit Role for Encounter" * url only uri * valueCoding 0..1 * valueCoding only Coding -* valueCoding from $bfs-medstats-19-admitrole_1 (required) +* valueCoding from $bfs-medstats-19-admitrole_1 (extensible) * valueCoding ^short = "Value of extension" * valueCoding ^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)." * valueCoding ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a given purpose." diff --git a/input/fsh/extensions/ECH0010AddressLineType.fsh b/input/fsh/extensions/ECH0010AddressLineType.fsh index 1b1239f..9aa44b0 100644 --- a/input/fsh/extensions/ECH0010AddressLineType.fsh +++ b/input/fsh/extensions/ECH0010AddressLineType.fsh @@ -10,7 +10,7 @@ Description: "eCH-0010: Extension to define line types for addresses" * url only uri * valueCode 0..1 * valueCode only code -* valueCode from $ech-10-linetype (required) +* valueCode from $ech-10-linetype (extensible) * valueCode ^short = "Value of extension" * valueCode ^definition = "Value of extension - may be a resource or one of a constrained set of the data types (see\r\n Extensibility in the spec for list)." * valueCode ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a\r\n given purpose." \ No newline at end of file diff --git a/input/fsh/extensions/ECH011FirstName.fsh b/input/fsh/extensions/ECH011FirstName.fsh index b996f49..8816a38 100644 --- a/input/fsh/extensions/ECH011FirstName.fsh +++ b/input/fsh/extensions/ECH011FirstName.fsh @@ -11,7 +11,7 @@ Description: "eCH-0011: Extension to define first name type" * url only uri * valueCode 0..1 * valueCode only code -* valueCode from $ech-11-firstnamedatatype (required) +* valueCode from $ech-11-firstnamedatatype (extensible) * valueCode ^short = "Value of extension" * valueCode ^definition = "Value of extension - may be a resource or one of a constrained set of the data types (see\r\n Extensibility in the spec for list)." * valueCode ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a\r\n given purpose." \ No newline at end of file diff --git a/input/fsh/extensions/ECH011MaritalDataSeparation.fsh b/input/fsh/extensions/ECH011MaritalDataSeparation.fsh index c6e77fa..97e598b 100644 --- a/input/fsh/extensions/ECH011MaritalDataSeparation.fsh +++ b/input/fsh/extensions/ECH011MaritalDataSeparation.fsh @@ -10,7 +10,7 @@ Description: "eCH-0011: Extension to define the separation type. For married but * url only uri * valueCodeableConcept 0..1 * valueCodeableConcept only CodeableConcept -* valueCodeableConcept from $ech-11-maritaldata-separation_1 (required) +* valueCodeableConcept from $ech-11-maritaldata-separation_1 (extensible) * valueCodeableConcept ^short = "Value of extension" * valueCodeableConcept ^definition = "CodeableConcept for separation type" * valueCodeableConcept ^binding.description = "ValueSet separation type" \ No newline at end of file diff --git a/input/fsh/extensions/ECH011Name.fsh b/input/fsh/extensions/ECH011Name.fsh index 320494c..40c80b5 100644 --- a/input/fsh/extensions/ECH011Name.fsh +++ b/input/fsh/extensions/ECH011Name.fsh @@ -10,7 +10,7 @@ Description: "eCH-0011: Extension to define name type" * url only uri * valueCode 0..1 * valueCode only code -* valueCode from $ech-11-namedatatype (required) +* valueCode from $ech-11-namedatatype (extensible) * valueCode ^short = "Value of extension" * valueCode ^definition = "Value of extension - may be a resource or one of a constrained set of the data types (see\r\n Extensibility in the spec for list)." * valueCode ^binding.description = "A set of codes advising a system or user which name in a set of names to select for a\r\n given purpose." \ No newline at end of file diff --git a/input/fsh/extensions/ECH46EmailCategory.fsh b/input/fsh/extensions/ECH46EmailCategory.fsh index d4a2dde..ebcdeb1 100644 --- a/input/fsh/extensions/ECH46EmailCategory.fsh +++ b/input/fsh/extensions/ECH46EmailCategory.fsh @@ -7,6 +7,6 @@ Description: "Extension to define the e-mail category according to eCH-0046" * ^context.expression = "ContactPoint.use" * url only uri * valueCodeableConcept 1..1 -* valueCodeableConcept from ECH46EmailCategory (required) +* valueCodeableConcept from ECH46EmailCategory (extensible) * valueCodeableConcept.coding ^short = "Predefined category" * valueCodeableConcept.text ^short = "Category as free text should only be used if none of the predefined categories apply" \ No newline at end of file diff --git a/input/fsh/extensions/ECH46InternetCategory.fsh b/input/fsh/extensions/ECH46InternetCategory.fsh index 12e8197..0052b50 100644 --- a/input/fsh/extensions/ECH46InternetCategory.fsh +++ b/input/fsh/extensions/ECH46InternetCategory.fsh @@ -7,6 +7,6 @@ Description: "Extension to define the internet category according to eCH-0046" * ^context.expression = "ContactPoint.use" * url only uri * valueCodeableConcept 1..1 -* valueCodeableConcept from ECH46InternetCategory (required) +* valueCodeableConcept from ECH46InternetCategory (extensible) * valueCodeableConcept.coding ^short = "Predefined category" * valueCodeableConcept.text ^short = "Category as free text should only be used if none of the predefined categories apply" \ No newline at end of file diff --git a/input/fsh/extensions/ECH46PhoneCategory.fsh b/input/fsh/extensions/ECH46PhoneCategory.fsh index 7cff41a..248f1ed 100644 --- a/input/fsh/extensions/ECH46PhoneCategory.fsh +++ b/input/fsh/extensions/ECH46PhoneCategory.fsh @@ -7,6 +7,6 @@ Description: "Extension to define the phone category according to eCH-0046" * ^context.expression = "ContactPoint.use" * url only uri * valueCodeableConcept 1..1 -* valueCodeableConcept from ECH46PhoneCategory (required) +* valueCodeableConcept from ECH46PhoneCategory (extensible) * valueCodeableConcept.coding ^short = "Predefined category" * valueCodeableConcept.text ^short = "Category as free text should only be used if none of the predefined categories apply" \ No newline at end of file diff --git a/input/fsh/extensions/EPRConfidentialityCode.fsh b/input/fsh/extensions/EPRConfidentialityCode.fsh index 2aeea59..a3914b7 100644 --- a/input/fsh/extensions/EPRConfidentialityCode.fsh +++ b/input/fsh/extensions/EPRConfidentialityCode.fsh @@ -10,7 +10,7 @@ Description: "Extension for the confidentiality code according to the Swiss EPR * url only uri * valueCodeableConcept 1..1 * valueCodeableConcept only CodeableConcept -* valueCodeableConcept from $DocumentEntry.confidentialityCode (required) +* valueCodeableConcept from $DocumentEntry.confidentialityCode (extensible) * valueCodeableConcept ^short = "Value of extension" * valueCodeableConcept.coding 1..1 * valueCodeableConcept.coding.system 1..1 diff --git a/input/fsh/invariants/ch-docref-1.fsh b/input/fsh/invariants/ch-docref-1.fsh index 52c8245..096d88f 100644 --- a/input/fsh/invariants/ch-docref-1.fsh +++ b/input/fsh/invariants/ch-docref-1.fsh @@ -1,4 +1,5 @@ Invariant: ch-docref-1 -Description: "The following ValueSet is preferred: http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.mimeType" +Description: "The codes from the following ValueSet are 'preferred': http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.mimeType" +// Binding preferred: Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. Severity: #warning Expression: "exists()" \ No newline at end of file diff --git a/input/fsh/invariants/ch-docref-2.fsh b/input/fsh/invariants/ch-docref-2.fsh index 9f3070e..83d2bd2 100644 --- a/input/fsh/invariants/ch-docref-2.fsh +++ b/input/fsh/invariants/ch-docref-2.fsh @@ -1,4 +1,5 @@ Invariant: ch-docref-2 -Description: "The following ValueSet is required: http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.mimeType" -Severity: #error +Description: "The codes from the following ValueSet shall be used if one of them can be applied (aka 'extensible'): http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.mimeType" +// codes in this element SHALL be from the specified value set if any of the codes within the value set can apply to the concept being communicated. +Severity: #warning Expression: "exists()" \ No newline at end of file diff --git a/input/fsh/profiles/CHCoreCompositionEPR.fsh b/input/fsh/profiles/CHCoreCompositionEPR.fsh index 12fd021..fa11502 100644 --- a/input/fsh/profiles/CHCoreCompositionEPR.fsh +++ b/input/fsh/profiles/CHCoreCompositionEPR.fsh @@ -16,7 +16,7 @@ Description: "Base definition for a composition in the context of the electronic * identifier.system = "urn:ietf:rfc:3986" (exactly) * identifier.value 1.. * type 1.. -* type from $DocumentEntry.typeCode (required) +* type from $DocumentEntry.typeCode (extensible) * subject 1.. * subject only Reference(CHCorePatientEPR) diff --git a/input/fsh/profiles/CHCoreDocumentReferenceEPR.fsh b/input/fsh/profiles/CHCoreDocumentReferenceEPR.fsh index db11b18..12bbfda 100644 --- a/input/fsh/profiles/CHCoreDocumentReferenceEPR.fsh +++ b/input/fsh/profiles/CHCoreDocumentReferenceEPR.fsh @@ -6,10 +6,10 @@ Description: "Base definition for a document reference in the context of the ele * . ^short = "CH Core DocumentReference EPR" * type 1.. -* type from $DocumentEntry.typeCode (required) +* type from $DocumentEntry.typeCode (extensible) * category 1.. -* category from $DocumentEntry.classCode (required) +* category from $DocumentEntry.classCode (extensible) * subject 1.. * subject only Reference(CHCorePatientEPR) @@ -22,18 +22,18 @@ Description: "Base definition for a document reference in the context of the ele * custodian only Reference(CHCoreOrganizationEPR) * securityLabel 1.. -* securityLabel from $DocumentEntry.confidentialityCode (required) +* securityLabel from $DocumentEntry.confidentialityCode (extensible) * content.attachment.contentType 1.. -// content.attachment.contentType from $DocumentEntry.mimeType (required) -> not allowed on a required binding in FHIR core -> add constraint, like in CHCoreDocumentReference +// content.attachment.contentType from $DocumentEntry.mimeType (extensible) -> not allowed on a required binding in FHIR core -> add constraint, like in CHCoreDocumentReference * content.attachment.contentType obeys ch-docref-2 * content.attachment.language 1.. -* content.attachment.language from $DocumentEntry.languageCode (required) +* content.attachment.language from $DocumentEntry.languageCode (extensible) * content.attachment.url 1.. * content.format 1.. -* content.format from $DocumentEntry.formatCode (required) +* content.format from $DocumentEntry.formatCode (extensible) -* context.facilityType from $DocumentEntry.healthcareFacilityTypeCode (required) -* context.practiceSetting from $DocumentEntry.practiceSettingCode (required) +* context.facilityType from $DocumentEntry.healthcareFacilityTypeCode (extensible) +* context.practiceSetting from $DocumentEntry.practiceSettingCode (extensible) * context.sourcePatientInfo only Reference(CHCorePatientEPR) \ No newline at end of file diff --git a/input/fsh/profiles/CHCoreEncounter.fsh b/input/fsh/profiles/CHCoreEncounter.fsh index 1e02006..d857213 100644 --- a/input/fsh/profiles/CHCoreEncounter.fsh +++ b/input/fsh/profiles/CHCoreEncounter.fsh @@ -18,7 +18,7 @@ Description: "The Encounter referenced in the CH Core profiles." * identifier[VisitNumber].value 1.. * class ^short = "AMB | IMP : See mapping from BFS Medizinische Statistik BFS Encounter Class to FHIR" * class ^definition = "See mapping from BFS Medizinische Statistik [BFS Encounter Class to FHIR mapping](http://fhir.ch/ig/ch-core/ConceptMap/bfs-encounter-class-to-fhir)" -* priority from $bfs-medstats-18-admittype_1 (required) +* priority from $bfs-medstats-18-admittype_1 (extensible) * priority ^short = "BFS Medizinische Statistik - Eintrittsart / Mode d’admission / Genere di ricovero" * subject 1.. * subject only Reference(CHCorePatient) @@ -41,7 +41,7 @@ Description: "The Encounter referenced in the CH Core profiles." * hospitalization.extension[BfsDischargeDestination] ^short = "BFS Medizinische Statistik - Aufenthalt nach Austritt" * hospitalization.origin only Reference(CHCoreLocation or CHCoreOrganization) -* hospitalization.admitSource from $bfs-medstats-17-admitsource_1 (required) +* hospitalization.admitSource from $bfs-medstats-17-admitsource_1 (extensible) * hospitalization.admitSource ^short = "BFS Medizinische Statistik - Aufenthaltsort vor dem Eintritt / Séjour avant l’admission / Luogo di soggiorno prima dell’ammissione" * hospitalization.destination only Reference(CHCoreLocation or CHCoreOrganization) * hospitalization.dischargeDisposition from $bfs-medstats-29-dischargeencounter_1 (preferred) diff --git a/input/fsh/profiles/CHCoreOrganizationEPR.fsh b/input/fsh/profiles/CHCoreOrganizationEPR.fsh index c191e3d..a6a5b49 100644 --- a/input/fsh/profiles/CHCoreOrganizationEPR.fsh +++ b/input/fsh/profiles/CHCoreOrganizationEPR.fsh @@ -5,5 +5,5 @@ Title: "CH Core Organization EPR" Description: "Core organization definition in the context of the electronic patient record (EPR)." * . ^short = "CH Core Organization EPR" -* type from $DocumentEntry.healthcareFacilityTypeCode (required) +* type from $DocumentEntry.healthcareFacilityTypeCode (extensible) * address ..1 \ No newline at end of file diff --git a/input/fsh/profiles/CHCorePatient.fsh b/input/fsh/profiles/CHCorePatient.fsh index 4389158..bbcb108 100644 --- a/input/fsh/profiles/CHCorePatient.fsh +++ b/input/fsh/profiles/CHCorePatient.fsh @@ -64,7 +64,7 @@ See also [BFS](https://www.bfs.admin.ch/bfs/de/home/register/personenregister/re * gender ^short = "male | female | other" * deceased[x] only boolean or dateTime * address only CHCoreAddress -* maritalStatus from $ch-core-maritalstatus (required) +* maritalStatus from $ch-core-maritalstatus (extensible) * maritalStatus.extension ^slicing.discriminator.type = #value * maritalStatus.extension ^slicing.discriminator.path = "url" * maritalStatus.extension ^slicing.rules = #open diff --git a/input/fsh/profiles/CHCorePractitionerRoleEpr.fsh b/input/fsh/profiles/CHCorePractitionerRoleEpr.fsh index 4d89c88..a1586f3 100644 --- a/input/fsh/profiles/CHCorePractitionerRoleEpr.fsh +++ b/input/fsh/profiles/CHCorePractitionerRoleEpr.fsh @@ -6,4 +6,4 @@ Description: "Core PractitionerRole definition in the swiss context of the elect * ^purpose = "Core PractitionerRole EPR data which can be shared" * practitioner only Reference(CHCorePractitionerEPR) * organization only Reference(CHCoreOrganizationEPR) -* specialty from $HCProfessional.hcSpecialisation (required) +* specialty from $HCProfessional.hcSpecialisation (extensible) diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 1ef0f9d..cf7c8e0 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -17,8 +17,7 @@ All significant changes to this FHIR implementation guide will be documented on * [#31](https://github.com/hl7ch/ch-core/issues/31): Improve profiling for identifiers to avoid duplicated elements in the snapshot table * [#205](https://github.com/hl7ch/ch-core/issues/205): Concretization of the mapping of Patient.telecom for versions as of HL7 v2.7 * [#181](https://github.com/hl7ch/ch-core/issues/181): Updated used eCH standards (incl. versions) to [introduction (home)](index.html#introduction) (standards themselves currently have no updates) - - +* [#215](https://github.com/hl7ch/ch-core/issues/215): Relax binding strength to value sets from 'required' to 'extensible'