☰ Scenario Read and Validate the MedicationAdministration with rate details by ID
Then Get FHIR resource at "http://fhirserver/MedicationAdministration/${data.medicationadministration-read-rate-id}" with content type "xml"
And resource has ID "${data.medicationadministration-read-rate-id}"
INFO
id.replaceMatches('/_history/.+','').matches('\\bMedicationAdministration-Read-Rate-Example-Quantity$')
["BooleanType[true]"]
And FHIR current response body is a valid isik5 resource and conforms to profile "https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikationsVerabreichung"
INFO
Code system definition is missing for 'http://snomed.info/sct#6073002'
{
"locationCol": 624,
"severity": "INFORMATION",
"locationString": "MedicationAdministration.dosage.site.coding[0]",
"messageId": "Terminology_PassThrough_TX_Message",
"locationLine": 2,
"message": "Code system definition is missing for 'http://snomed.info/sct#6073002'"
}
INFO
Code system definition is missing for 'http://snomed.info/sct#255560000'
{
"locationCol": 855,
"severity": "INFORMATION",
"locationString": "MedicationAdministration.dosage.route.coding[0]",
"messageId": "Terminology_PassThrough_TX_Message",
"locationLine": 2,
"message": "Code system definition is missing for 'http://snomed.info/sct#255560000'"
}
WARN
Value set https://gematik.de/fhir/isik/ValueSet/SctRouteOfAdministration has been ignored due to module configuration
{
"locationCol": 855,
"severity": "WARNING",
"locationString": "MedicationAdministration.dosage.route.coding[0]",
"messageId": "Value set https://gematik.de/fhir/isik/ValueSet/SctRouteOfAdministration has been ignored due to module configuration",
"locationLine": 2,
"message": "Value set https://gematik.de/fhir/isik/ValueSet/SctRouteOfAdministration has been ignored due to module configuration"
}
And FHIR current response body evaluates the FHIRPath "dosage.text.empty().not()" with error message 'The dosage text is not specified'
INFO
dosage.text.empty().not()
["BooleanType[true]"]
And FHIR current response body evaluates the FHIRPath "dosage.site.coding.where(code = '6073002' and system = 'http://snomed.info/sct' and version = 'http://snomed.info/sct/11000274103/version/${data.snomed-ct-version}' and display.empty().not()).exists()" with error message "The dosage site does not match the expected value"
INFO
dosage.site.coding.where(code = '6073002' and system = 'http://snomed.info/sct' and version = 'http://snomed.info/sct/11000274103/version/20251115' and display.empty().not()).exists()
["BooleanType[true]"]
And FHIR current response body evaluates the FHIRPath "dosage.route.coding.where(code = '255560000' and system = 'http://snomed.info/sct' and version = 'http://snomed.info/sct/11000274103/version/${data.snomed-ct-version}' and display.empty().not()).exists()" with error message "The dosage route does not match the expected value"
INFO
dosage.route.coding.where(code = '255560000' and system = 'http://snomed.info/sct' and version = 'http://snomed.info/sct/11000274103/version/20251115' and display.empty().not()).exists()
["BooleanType[true]"]
And FHIR current response body evaluates the FHIRPath "dosage.dose.code = 'mL' and dosage.dose.system = 'http://unitsofmeasure.org' and dosage.dose.unit.hasValue() and dosage.dose.value ~ 1000" with error message "The total dose does not match the expected value"
INFO
dosage.dose.code = 'mL' and dosage.dose.system = 'http://unitsofmeasure.org' and dosage.dose.unit.hasValue() and dosage.dose.value ~ 1000
["BooleanType[true]"]
And FHIR current response body evaluates the FHIRPath "(dosage.rate.is(Quantity) and (dosage.rate.code = 'mL/h' and dosage.rate.system = 'http://unitsofmeasure.org' and dosage.rate.unit.hasValue() and dosage.rate.value ~ 50 ) ) or ( dosage.rate.is(Ratio) and ( dosage.rate.numerator.value ~ 50 and dosage.rate.numerator.unit.hasValue() and dosage.rate.numerator.code = 'mL' and dosage.rate.numerator.system = 'http://unitsofmeasure.org' and dosage.rate.denominator.value ~ 1 and dosage.rate.denominator.unit.hasValue() and dosage.rate.denominator.code = 'h' and dosage.rate.denominator.system = 'http://unitsofmeasure.org') )" with error message "The administration rate does not match the expected value"
INFO
(dosage.rate.is(Quantity) and (dosage.rate.code = 'mL/h' and dosage.rate.system = 'http://unitsofmeasure.org' and dosage.rate.unit.hasValue() and dosage.rate.value ~ 50 ) ) or ( dosage.rate.is(Ratio) and ( dosage.rate.numerator.value ~ 50 and dosage.rate.numerator.unit.hasValue() and dosage.rate.numerator.code = 'mL' and dosage.rate.numerator.system = 'http://unitsofmeasure.org' and dosage.rate.denominator.value ~ 1 and dosage.rate.denominator.unit.hasValue() and dosage.rate.denominator.code = 'h' and dosage.rate.denominator.system = 'http://unitsofmeasure.org') )
["BooleanType[true]"]