<TestScript xmlns="http://hl7.org/fhir"> <extension url="https://gematik.de/fhir/IsiK/StructureDefinition/testMandatory"> <valueBoolean value="true" /> </extension> <extension url="https://gematik.de/fhir/IsiK/StructureDefinition/testCategory"> <valueCode value="read" /> </extension> <extension url="https://gematik.de/fhir/IsiK/StructureDefinition/initial-state"> <valueString value="## Vorbedingungen * Der Endpunkt des zu testenden Systems muss in Titus hinterlegt sein. (Ggf. mit den erforderlichen Parametern zur Autorisierung) * Die vom Testdatensatz referenzierten Ressourcen Patient und Encounter müssen zuvor angelegt und getestet worden sein. * Der Testdatensatz muss im zu testenden System gemäß der Vorgaben (manuell) erfasst worden sein. * Die ID der korrespondierenden FHIR-Ressource zu diesem Testdatensatz muss in der Titus UI eingegeben worden sein. ## Testdatensatz Attribut|Wert|Bemerkung --|--|--| OPS-Code|5-470|OPS-Katalogversion 2021 Status | abgeschlossen/durchgeführt | Patientenbezug| Patient aus Testfall ISIK_Patient_Read_001| Bezug zu Aufenthalt| Encounter aus Testfall ISIK_Encounter_Read_001| Datum der Durchführung | frei wählbar | Datum der Erfassung | aktuelles Tagesdatum|" /> </extension> <url value="http://test.gematik.de/TestScript/ISIK_Procedure_Read" /> <name value="ISIK_Procedure_Read_001" /> <title value="Lesen der Ressource Procedure" /> <status value="active" /> <description value="## Kurzbeschreibung Das zu testende System MUSS die angelegte Ressource bei einem HTTP GET auf deren URL korrekt und vollständig zurückgeben (READ)." /> <profile id="base-profile"> <reference value="http://hl7.org/fhir/StructureDefinition/Procedure" /> </profile> <!-- Name der id kann immer gleich sein --> <profile id="isik-profile"> <reference value="http://gematik.de/fhir/IsiK/StructureDefinition/ISiKProzedur" /> </profile> <variable> <name value="procedure01-id" /> <description value="ID des Testdatensatzes aus Testfall ISIK_Procedure_Read_001" /> <sourceId value="procedure01" /> </variable> <variable> <name value="patient01-id" /> <description value="ID des Testdatensatzes aus Testfall ISIK_Patient_Read_001" /> <sourceId value="patient01" /> </variable> <variable> <name value="encounter01-id" /> <description value="ID des Testdatensatzes aus Testfall ISIK_Encounter_Read_001" /> <sourceId value="encounter01" /> </variable> <!-- weitere Variablen, die keine IDs sind <variable> <description value = "NamingSystem der einrichtungsinternen Patienten-ID des Testdatensatzes aus Testfall ISIK_Patient_Read_001"/> <name value="patient01-identifier-system" /> <sourceId value="patient01" /> </variable> --> <test> <name value="READ" /> <!-- description value="Abrufen eines Patienten mittels READ." --> <action> <operation> <type> <system value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes" /> <code value="read" /> </type> <!-- automatisch konfiguriert aus variablen --> <resource value="Procedure" /> <accept value="application/fhir+xml" /> <params value="/${procedure01-id}" /> </operation> </action> <action> <assert> <!-- brauchen wir beides: Label und Description? --> <label value="StatusCode" /> <description value="HTTP status code korrekt?" /> <responseCode value="200" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Format" /> <description value="Content-Header korrekt?" /> <contentType value="application/fhir+xml" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Id" /> <description value="Ressource gefunden?" /> <expression value="id = ${procedure01-id})" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Validierung-Core" /> <description value="Valide gegen die FHIR Spezifikation?" /> <validateProfileId value="base-profile" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Validierung-Profil" /> <description value="Valide gegen ISiK-Profil?" /> <validateProfileId value="isik-profile" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="Status korrekt?" /> <expression value="status = 'completed'" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="Category korrekt?" /> <expression value="ecategory.coding.exists(system = 'http://snomed.info/sct' and code = '387713003')" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="Code korrekt?" /> <expression value="code.coding.exists(system = 'http://fhir.de/CodeSystem/bfarm/ops' and code = '5-470' and version = '2021')" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="Link auf Patient korrekt?" /> <expression value="subject.reference = 'Patient/${patient01-id}'" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="Link auf Encounter korrekt?" /> <expression value="encounter.reference = 'Encounter/${encounter01-id}'" /> <warningOnly value="false" /> </assert> </action> <action> <assert> <label value="Soll-Ist-Vergleich" /> <description value="performedDateTime vorhanden?" /> <expression value="performedDateTime.hasValue()" /> <warningOnly value="false" /> </assert> </action> </test> </TestScript>