From 920bba1a66f738ef0fb6efce3d52fc668030b00a Mon Sep 17 00:00:00 2001 From: Mudlej Date: Wed, 24 May 2023 23:41:52 +0300 Subject: [PATCH 1/5] issue #4224 Fixing the expression and xpath statements for Appointment.status = 'noshow'. --- .../StructureDefinition-Appointment.json | 8 +-- .../StructureDefinition-Appointment.json | 8 +-- .../json/spec/appointment.profile.json | 8 +-- .../xml/spec/appointment.profile.xml | 64 +++++++++---------- .../fhir/model/resource/Appointment.java | 2 +- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json index 428ab35c205..2e242bcf817 100644 --- a/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json @@ -121,8 +121,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')" + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')" }, { "key": "dom-2", @@ -2005,8 +2005,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')" + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')" }, { "key": "app-3", diff --git a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json index 6b3458aa9a0..2f3322fbc6f 100644 --- a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json @@ -124,8 +124,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')", + "expression": "Appointment.ancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { @@ -2060,8 +2060,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { diff --git a/fhir-examples/src/main/resources/json/spec/appointment.profile.json b/fhir-examples/src/main/resources/json/spec/appointment.profile.json index 6cc2a733f37..98df475c9da 100644 --- a/fhir-examples/src/main/resources/json/spec/appointment.profile.json +++ b/fhir-examples/src/main/resources/json/spec/appointment.profile.json @@ -120,8 +120,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027no-show\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027no-show\u0027, \u0027cancelled\u0027)", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027noshow\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027noshow\u0027, \u0027cancelled\u0027)", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { @@ -2056,8 +2056,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027no-show\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027no-show\u0027, \u0027cancelled\u0027)", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027noshow\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027noshow\u0027, \u0027cancelled\u0027)", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { diff --git a/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml b/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml index 4e58420499a..eb7aeb426de 100644 --- a/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml +++ b/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml @@ -62,7 +62,7 @@ extension, modifierExtension - + @@ -82,7 +82,7 @@ External Ids for this item
- + @@ -105,7 +105,7 @@ AppointmentStatus ( Required) - + @@ -127,7 +127,7 @@ AppointmentCancellationReason ( Example) - + @@ -150,7 +150,7 @@ Example)
- + @@ -173,7 +173,7 @@ Example)
- + @@ -196,7 +196,7 @@ Preferred)
- + @@ -218,7 +218,7 @@ hl7VS-appointmentReasonCodes ( Preferred) - + @@ -241,7 +241,7 @@ Preferred)
- + @@ -263,7 +263,7 @@ Reason the appointment is to take place (resource)
- + @@ -279,7 +279,7 @@ unsignedInt Used to make informed decisions if needing to re-prioritize - + @@ -295,7 +295,7 @@ string Shown on a subject line in a meeting request, or appointment list - + @@ -314,7 +314,7 @@ Additional information to support the appointment
- + @@ -332,7 +332,7 @@ instant When appointment is to take place - + @@ -350,7 +350,7 @@ instant When appointment is to conclude - + @@ -366,7 +366,7 @@ positiveInt Can be less than start/end (e.g. estimate) - + @@ -385,7 +385,7 @@ The slots that this appointment is filling
- + @@ -401,7 +401,7 @@ dateTime The date that this appointment was initially created - + @@ -417,7 +417,7 @@ string Additional comments - + @@ -433,7 +433,7 @@ string Detailed information and instructions for the patient - + @@ -452,7 +452,7 @@ The service request this appointment is allocated to assess
- + @@ -474,7 +474,7 @@ + Rule: Either the type or actor on the participant SHALL be specified
- + @@ -498,7 +498,7 @@ Extensible)
- + @@ -524,7 +524,7 @@ Location) Person, Location/HealthcareService or Device - + @@ -547,7 +547,7 @@ ParticipantRequired ( Required) - + @@ -570,7 +570,7 @@ ParticipationStatus ( Required) - + @@ -587,7 +587,7 @@ Period Participation period of the actor - + @@ -605,7 +605,7 @@ Potential date/time interval(s) requested to allocate the appointment within
- + @@ -713,8 +713,8 @@ - - + + @@ -2317,8 +2317,8 @@ - - + + diff --git a/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java b/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java index 628ceb0913b..6895a87bf8e 100644 --- a/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java +++ b/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java @@ -82,7 +82,7 @@ level = "Rule", location = "(base)", description = "Cancelation reason is only used for appointments that have been cancelled, or no-show", - expression = "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", + expression = "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", source = "http://hl7.org/fhir/StructureDefinition/Appointment" ) @Constraint( From c5783f124740360ce035addb26ebb2cfbe74ea6a Mon Sep 17 00:00:00 2001 From: Mudlej <110748150+mudlej@users.noreply.github.com> Date: Fri, 26 May 2023 19:25:39 +0000 Subject: [PATCH 2/5] fix typo in cancelationReason Signed-off-by: Mudlej <110748150+mudlej@users.noreply.github.com> --- .../core/430/package/StructureDefinition-Appointment.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json index 2f3322fbc6f..edde978aef9 100644 --- a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json @@ -124,7 +124,7 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.ancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, @@ -3072,4 +3072,4 @@ } ] } -} \ No newline at end of file +} From 2e4148f1698a5962a4e4aacc6aac519df84b971a Mon Sep 17 00:00:00 2001 From: Mudlej <110748150+mudlej@users.noreply.github.com> Date: Fri, 26 May 2023 19:25:39 +0000 Subject: [PATCH 3/5] fix typo in cancelationReason Signed-off-by: Mudlej --- .../core/430/package/StructureDefinition-Appointment.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json index 2f3322fbc6f..edde978aef9 100644 --- a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json @@ -124,7 +124,7 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.ancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, @@ -3072,4 +3072,4 @@ } ] } -} \ No newline at end of file +} From b2163fe2b25272b4d80cf1fb3b83e76c4a06f148 Mon Sep 17 00:00:00 2001 From: Mudlej Date: Wed, 24 May 2023 23:41:52 +0300 Subject: [PATCH 4/5] issue #4224 Fixing the expression and xpath statements for Appointment.status = 'noshow'. --- .../StructureDefinition-Appointment.json | 8 +-- .../StructureDefinition-Appointment.json | 8 +-- .../json/spec/appointment.profile.json | 8 +-- .../xml/spec/appointment.profile.xml | 64 +++++++++---------- .../fhir/model/resource/Appointment.java | 2 +- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json index 428ab35c205..2e242bcf817 100644 --- a/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4/src/main/resources/hl7/fhir/core/401/package/StructureDefinition-Appointment.json @@ -121,8 +121,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')" + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')" }, { "key": "dom-2", @@ -2005,8 +2005,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')" + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')" }, { "key": "app-3", diff --git a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json index 6b3458aa9a0..2f3322fbc6f 100644 --- a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json @@ -124,8 +124,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')", + "expression": "Appointment.ancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { @@ -2060,8 +2060,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { diff --git a/fhir-examples/src/main/resources/json/spec/appointment.profile.json b/fhir-examples/src/main/resources/json/spec/appointment.profile.json index 6cc2a733f37..98df475c9da 100644 --- a/fhir-examples/src/main/resources/json/spec/appointment.profile.json +++ b/fhir-examples/src/main/resources/json/spec/appointment.profile.json @@ -120,8 +120,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027no-show\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027no-show\u0027, \u0027cancelled\u0027)", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027noshow\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027noshow\u0027, \u0027cancelled\u0027)", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { @@ -2056,8 +2056,8 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027no-show\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", - "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027no-show\u0027, \u0027cancelled\u0027)", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status\u003d\u0027noshow\u0027 or Appointment.status\u003d\u0027cancelled\u0027)", + "xpath": "not(exists(f:cancellationReason)) or f:status/@value\u003d(\u0027noshow\u0027, \u0027cancelled\u0027)", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, { diff --git a/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml b/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml index 4e58420499a..eb7aeb426de 100644 --- a/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml +++ b/fhir-examples/src/main/resources/xml/spec/appointment.profile.xml @@ -62,7 +62,7 @@ extension, modifierExtension - + @@ -82,7 +82,7 @@ External Ids for this item
- + @@ -105,7 +105,7 @@ AppointmentStatus ( Required) - + @@ -127,7 +127,7 @@ AppointmentCancellationReason ( Example) - + @@ -150,7 +150,7 @@ Example)
- + @@ -173,7 +173,7 @@ Example)
- + @@ -196,7 +196,7 @@ Preferred)
- + @@ -218,7 +218,7 @@ hl7VS-appointmentReasonCodes ( Preferred) - + @@ -241,7 +241,7 @@ Preferred)
- + @@ -263,7 +263,7 @@ Reason the appointment is to take place (resource)
- + @@ -279,7 +279,7 @@ unsignedInt Used to make informed decisions if needing to re-prioritize - + @@ -295,7 +295,7 @@ string Shown on a subject line in a meeting request, or appointment list - + @@ -314,7 +314,7 @@ Additional information to support the appointment
- + @@ -332,7 +332,7 @@ instant When appointment is to take place - + @@ -350,7 +350,7 @@ instant When appointment is to conclude - + @@ -366,7 +366,7 @@ positiveInt Can be less than start/end (e.g. estimate) - + @@ -385,7 +385,7 @@ The slots that this appointment is filling
- + @@ -401,7 +401,7 @@ dateTime The date that this appointment was initially created - + @@ -417,7 +417,7 @@ string Additional comments - + @@ -433,7 +433,7 @@ string Detailed information and instructions for the patient - + @@ -452,7 +452,7 @@ The service request this appointment is allocated to assess
- + @@ -474,7 +474,7 @@ + Rule: Either the type or actor on the participant SHALL be specified
- + @@ -498,7 +498,7 @@ Extensible)
- + @@ -524,7 +524,7 @@ Location) Person, Location/HealthcareService or Device - + @@ -547,7 +547,7 @@ ParticipantRequired ( Required) - + @@ -570,7 +570,7 @@ ParticipationStatus ( Required) - + @@ -587,7 +587,7 @@ Period Participation period of the actor - + @@ -605,7 +605,7 @@ Potential date/time interval(s) requested to allocate the appointment within
- + @@ -713,8 +713,8 @@ - - + +
@@ -2317,8 +2317,8 @@ - - + + diff --git a/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java b/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java index 628ceb0913b..6895a87bf8e 100644 --- a/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java +++ b/fhir-model/src/main/java/org/linuxforhealth/fhir/model/resource/Appointment.java @@ -82,7 +82,7 @@ level = "Rule", location = "(base)", description = "Cancelation reason is only used for appointments that have been cancelled, or no-show", - expression = "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')", + expression = "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", source = "http://hl7.org/fhir/StructureDefinition/Appointment" ) @Constraint( From ae539b4e2ce09054cf0877bd5637d23d94f22d98 Mon Sep 17 00:00:00 2001 From: Mudlej <110748150+mudlej@users.noreply.github.com> Date: Fri, 26 May 2023 19:25:39 +0000 Subject: [PATCH 5/5] fix typo in cancelationReason Signed-off-by: Mudlej --- .../core/430/package/StructureDefinition-Appointment.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json index 2f3322fbc6f..edde978aef9 100644 --- a/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json +++ b/conformance/fhir-core-r4b/src/main/resources/hl7/fhir/core/430/package/StructureDefinition-Appointment.json @@ -124,7 +124,7 @@ "key": "app-4", "severity": "error", "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show", - "expression": "Appointment.ancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", + "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')", "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('noshow', 'cancelled')", "source": "http://hl7.org/fhir/StructureDefinition/Appointment" }, @@ -3072,4 +3072,4 @@ } ] } -} \ No newline at end of file +}