@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-relatedperson> a fhir:TestScript ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "au-core-relatedperson"] ;
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "generated" ] ;
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: TestScript au-core-relatedperson</b></p><a name=\"au-core-relatedperson\"> </a><a name=\"hcau-core-relatedperson\"> </a><p><b>url</b>: <a href=\"TestScript-au-core-relatedperson.html\">TestScript AU Core RelatedPerson — SHALL-level conformance</a></p><p><b>version</b>: 0.1.0</p><p><b>name</b>: AUCoreRelatedPerson</p><p><b>title</b>: AU Core RelatedPerson — SHALL-level conformance</p><p><b>status</b>: Active</p><p><b>date</b>: 2026-08-16 05:55:37+0000</p><p><b>publisher</b>: FHIR Frog</p><p><b>contact</b>: FHIR Frog: <a href=\"https://gitlab.com/fhirfrog\">https://gitlab.com/fhirfrog</a></p><p><b>description</b>: </p><div><p>Covers the AU Core RelatedPerson (2.0.0) requirements identified in fhirfrog/au-core-compiler#20: read, search by patient (SHALL), search by _id/name/relationship (SHOULD/MAY, included per the issue's explicit call-out of all four params — see fhirfrog/au-core-compiler#17 for the equivalent Practitioner-level precedent of including SHOULD/MAY searches when an issue names them), must-support element presence (patient, relationship, name+use/text/family/given, telecom, address), and profile conformance validation. Mirrors au-fhir-core-inferno's RelatedPersonGroup (related_person_patient_search_test, related_person__id_search_test, related_person_name_search_test, related_person_relationship_search_test, related_person_read_test, related_person_validation_test, related_person_must_support_test); the patient+name and patient+relationship combinator variants and reference-resolution test are not replicated — see fhirfrog/au-core-compiler#6 for the general scope rationale. No obligation-extension or negative-testing complexity is exercised here (unlike fhirfrog/au-core-compiler#21/#22): plain must-support presence checks are sufficient per issue #20's own scoping.</p>\n</div><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>relatedperson-patient-fixture</blockquote><p><b>autocreate</b>: true</p><p><b>autodelete</b>: true</p><p><b>resource</b>: <code>au-core-relatedperson-patient</code></p></blockquote><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>relatedperson-fixture</blockquote><p><b>autocreate</b>: true</p><p><b>autodelete</b>: true</p><p><b>resource</b>: <code>au-core-relatedperson-conformant</code></p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: relatedPersonId</p><p><b>path</b>: RelatedPerson.id</p><p><b>sourceId</b>: relatedperson-fixture</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: patientId</p><p><b>path</b>: Patient.id</p><p><b>sourceId</b>: relatedperson-patient-fixture</p></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Read</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read\">Test script operation code: read</a> (Read)</td><td>RelatedPerson</td><td>true</td><td>/${relatedPersonId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>okay</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: SearchByPatient</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search\">Test script operation code: search</a> (Search)</td><td>RelatedPerson</td><td>true</td><td>?patient=Patient/${patientId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>okay</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: SearchById</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search\">Test script operation code: search</a> (Search)</td><td>RelatedPerson</td><td>true</td><td>?_id=${relatedPersonId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>okay</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: SearchByName</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search\">Test script operation code: search</a> (Search)</td><td>RelatedPerson</td><td>true</td><td>?name=Banks</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>okay</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: SearchByRelationship</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search\">Test script operation code: search</a> (Search)</td><td>RelatedPerson</td><td>true</td><td>?relationship=http://terminology.hl7.org/CodeSystem/v3-RoleCode|FTH</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Response</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>okay</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>Bundle.entry.resource.ofType(RelatedPerson).relationship.coding.code.where($this = 'FTH').exists()</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: MustSupport</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read\">Test script operation code: read</a> (Read)</td><td>RelatedPerson</td><td>true</td><td>/${relatedPersonId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.patient.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.relationship.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.name.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.name.use.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.name.text.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.name.family.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.name.given.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.telecom.exists()</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>RelatedPerson.address.exists()</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: ProfileValidation</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.3.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read\">Test script operation code: read</a> (Read)</td><td>RelatedPerson</td><td>true</td><td>/${relatedPersonId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson</td><td>false</td></tr></table></blockquote></blockquote></div>"
  ] ;
  fhir:TestScript.url [ fhir:value "http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-relatedperson"] ;
  fhir:TestScript.version [ fhir:value "0.1.0"] ;
  fhir:TestScript.name [ fhir:value "AUCoreRelatedPerson"] ;
  fhir:TestScript.title [ fhir:value "AU Core RelatedPerson — SHALL-level conformance"] ;
  fhir:TestScript.status [ fhir:value "active"] ;
  fhir:TestScript.date [ fhir:value "2026-08-16T05:55:37+00:00"^^xsd:dateTime] ;
  fhir:TestScript.publisher [ fhir:value "FHIR Frog"] ;
  fhir:TestScript.contact [
     fhir:index 0 ;
     fhir:ContactDetail.name [ fhir:value "FHIR Frog" ] ;
     fhir:ContactDetail.telecom [
       fhir:index 0 ;
       fhir:ContactPoint.system [ fhir:value "url" ] ;
       fhir:ContactPoint.value [ fhir:value "https://gitlab.com/fhirfrog" ]
     ]
  ] ;
  fhir:TestScript.description [ fhir:value "Covers the AU Core RelatedPerson (2.0.0) requirements identified in fhirfrog/au-core-compiler#20: read, search by patient (SHALL), search by _id/name/relationship (SHOULD/MAY, included per the issue's explicit call-out of all four params — see fhirfrog/au-core-compiler#17 for the equivalent Practitioner-level precedent of including SHOULD/MAY searches when an issue names them), must-support element presence (patient, relationship, name+use/text/family/given, telecom, address), and profile conformance validation. Mirrors au-fhir-core-inferno's RelatedPersonGroup (related_person_patient_search_test, related_person__id_search_test, related_person_name_search_test, related_person_relationship_search_test, related_person_read_test, related_person_validation_test, related_person_must_support_test); the patient+name and patient+relationship combinator variants and reference-resolution test are not replicated — see fhirfrog/au-core-compiler#6 for the general scope rationale. No obligation-extension or negative-testing complexity is exercised here (unlike fhirfrog/au-core-compiler#21/#22): plain must-support presence checks are sufficient per issue #20's own scoping."] ;
  fhir:TestScript.fixture [
     fhir:index 0 ;
     fhir:Element.id [ fhir:value "relatedperson-patient-fixture" ] ;
     fhir:TestScript.fixture.autocreate [ fhir:value "true"^^xsd:boolean ] ;
     fhir:TestScript.fixture.autodelete [ fhir:value "true"^^xsd:boolean ] ;
     fhir:TestScript.fixture.resource [
       fhir:Reference.reference [ fhir:value "au-core-relatedperson-patient" ]
     ]
  ], [
     fhir:index 1 ;
     fhir:Element.id [ fhir:value "relatedperson-fixture" ] ;
     fhir:TestScript.fixture.autocreate [ fhir:value "true"^^xsd:boolean ] ;
     fhir:TestScript.fixture.autodelete [ fhir:value "true"^^xsd:boolean ] ;
     fhir:TestScript.fixture.resource [
       fhir:Reference.reference [ fhir:value "au-core-relatedperson-conformant" ]
     ]
  ] ;
  fhir:TestScript.variable [
     fhir:index 0 ;
     fhir:TestScript.variable.name [ fhir:value "relatedPersonId" ] ;
     fhir:TestScript.variable.path [ fhir:value "RelatedPerson.id" ] ;
     fhir:TestScript.variable.sourceId [ fhir:value "relatedperson-fixture" ]
  ], [
     fhir:index 1 ;
     fhir:TestScript.variable.name [ fhir:value "patientId" ] ;
     fhir:TestScript.variable.path [ fhir:value "Patient.id" ] ;
     fhir:TestScript.variable.sourceId [ fhir:value "relatedperson-patient-fixture" ]
  ] ;
  fhir:TestScript.test [
     fhir:index 0 ;
     fhir:TestScript.test.name [ fhir:value "Read" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "read" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "/${relatedPersonId}" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.response [ fhir:value "okay" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 1 ;
     fhir:TestScript.test.name [ fhir:value "SearchByPatient" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "search" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "?patient=Patient/${patientId}" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.response [ fhir:value "okay" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 2 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 2 ;
     fhir:TestScript.test.name [ fhir:value "SearchById" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "search" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "?_id=${relatedPersonId}" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.response [ fhir:value "okay" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 2 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 3 ;
     fhir:TestScript.test.name [ fhir:value "SearchByName" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "search" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "?name=Banks" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.response [ fhir:value "okay" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 2 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "Bundle.entry.resource.ofType(RelatedPerson).name.family.where($this = 'Banks').exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 4 ;
     fhir:TestScript.test.name [ fhir:value "SearchByRelationship" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "search" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "?relationship=http://terminology.hl7.org/CodeSystem/v3-RoleCode|FTH" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.response [ fhir:value "okay" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 2 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "Bundle.entry.resource.ofType(RelatedPerson).relationship.coding.code.where($this = 'FTH').exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 5 ;
     fhir:TestScript.test.name [ fhir:value "MustSupport" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "read" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "/${relatedPersonId}" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.patient.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 2 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.relationship.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 3 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.name.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 4 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.name.use.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 5 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.name.text.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 6 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.name.family.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 7 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.name.given.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 8 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.telecom.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ], [
       fhir:index 9 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.expression [ fhir:value "RelatedPerson.address.exists()" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ], [
     fhir:index 6 ;
     fhir:TestScript.test.name [ fhir:value "ProfileValidation" ] ;
     fhir:TestScript.test.action [
       fhir:index 0 ;
       fhir:TestScript.test.action.operation [
         fhir:TestScript.setup.action.operation.type [
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-operation-codes" ] ;
           fhir:Coding.code [ fhir:value "read" ]
         ] ;
         fhir:TestScript.setup.action.operation.resource [ fhir:value "RelatedPerson" ] ;
         fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ] ;
         fhir:TestScript.setup.action.operation.params [ fhir:value "/${relatedPersonId}" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:TestScript.test.action.assert [
         fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" ] ;
         fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ]
       ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-relatedperson.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl .

# -------------------------------------------------------------------------------------

