FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagefhirfrog.au-core-tests
Resource TypeTestScript
IdTestScript-au-core-location.json
FHIR VersionR4
Sourcehttps://build.fhir.org/ig/jgsuess/au-core-tests/TestScript-au-core-location.html
URLhttp://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-location
Version0.1.0
Statusactive
Date2026-08-16T05:55:37+00:00
NameAUCoreLocation
TitleAU Core Location — SHALL-level conformance
DescriptionCovers the SHALL-level AU Core Location (2.0.0) requirements: read, search by each of the five documented search parameters (address, name, address-city, address-state, address-postalcode), must-support element presence, and profile conformance validation. Location is self-contained — no Patient reference is required for these search paths. Per fhirfrog/au-core-compiler#12, au-fhir-core-inferno's own LocationGroup only marks the name search as SHALL and treats address/address-city/address-state/address-postalcode as optional (SHOULD) single-param searches, with no dedicated first-class search test beyond that; the AU Core IG demands support for all five as part of the Location search capability, so this TestScript exercises all five explicitly rather than only mirroring Inferno's narrower baseline. As with au-core-patient (fhirfrog/au-core-compiler#6), this does not attempt Inferno's SHOULD/MAY-level combinatorial multi-param search coverage or MustSupport reference resolution (location_reference_resolution_test) — each search parameter gets one standalone test against the single fixture resource.

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: TestScript au-core-location

url: TestScript AU Core Location — SHALL-level conformance

version: 0.1.0

name: AUCoreLocation

title: AU Core Location — SHALL-level conformance

status: Active

date: 2026-08-16 05:55:37+0000

publisher: FHIR Frog

contact: FHIR Frog: https://gitlab.com/fhirfrog

description:

Covers the SHALL-level AU Core Location (2.0.0) requirements: read, search by each of the five documented search parameters (address, name, address-city, address-state, address-postalcode), must-support element presence, and profile conformance validation. Location is self-contained — no Patient reference is required for these search paths. Per fhirfrog/au-core-compiler#12, au-fhir-core-inferno's own LocationGroup only marks the name search as SHALL and treats address/address-city/address-state/address-postalcode as optional (SHOULD) single-param searches, with no dedicated first-class search test beyond that; the AU Core IG demands support for all five as part of the Location search capability, so this TestScript exercises all five explicitly rather than only mirroring Inferno's narrower baseline. As with au-core-patient (fhirfrog/au-core-compiler#6), this does not attempt Inferno's SHOULD/MAY-level combinatorial multi-param search coverage or MustSupport reference resolution (location_reference_resolution_test) — each search parameter gets one standalone test against the single fixture resource.

fixture

id

location-organization-fixture

autocreate: true

autodelete: true

resource: au-core-location-organization

fixture

id

location-fixture

autocreate: true

autodelete: true

resource: au-core-location-conformant

Variables

-NamePathSourceId
*locationIdLocation.idlocation-fixture

test

name: Read

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: read (Read)Locationtrue/${locationId}

action

Asserts

-ResponseWarningOnly
*okayfalse

test

name: SearchByAddress

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: search (Search)Locationtrue?address=Frogville

action

Asserts

-ResponseWarningOnly
*okayfalse

action

Asserts

-ExpressionWarningOnly
*Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()false

test

name: SearchByName

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: search (Search)Locationtrue?name=Frog

action

Asserts

-ResponseWarningOnly
*okayfalse

action

Asserts

-ExpressionWarningOnly
*Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()false

test

name: SearchByAddressCity

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: search (Search)Locationtrue?address-city=Frogville

action

Asserts

-ResponseWarningOnly
*okayfalse

action

Asserts

-ExpressionWarningOnly
*Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()false

test

name: SearchByAddressState

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: search (Search)Locationtrue?address-state=NSW

action

Asserts

-ResponseWarningOnly
*okayfalse

action

Asserts

-ExpressionWarningOnly
*Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()false

test

name: SearchByAddressPostalcode

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: search (Search)Locationtrue?address-postalcode=2000

action

Asserts

-ResponseWarningOnly
*okayfalse

action

Asserts

-ExpressionWarningOnly
*Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()false

test

name: MustSupport

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: read (Read)Locationtrue/${locationId}

action

Asserts

-ExpressionWarningOnly
*Location.address.exists()false

action

Asserts

-ExpressionWarningOnly
*Location.managingOrganization.exists()false

action

Asserts

-ExpressionWarningOnly
*Location.name.exists()false

action

Asserts

-ExpressionWarningOnly
*Location.physicalType.exists()false

action

Asserts

-ExpressionWarningOnly
*Location.type.exists()false

test

name: ProfileValidation

action

Operations

-TypeResourceEncodeRequestUrlParams
*Test script operation code: read (Read)Locationtrue/${locationId}

action

Asserts

-ValidateProfileIdWarningOnly
*http://hl7.org.au/fhir/core/StructureDefinition/au-core-locationfalse

Source1

{
  "resourceType": "TestScript",
  "id": "au-core-location",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-location",
  "version": "0.1.0",
  "name": "AUCoreLocation",
  "title": "AU Core Location — SHALL-level conformance",
  "status": "active",
  "date": "2026-08-16T05:55:37+00:00",
  "publisher": "FHIR Frog",
  "contact": [
    {
      "name": "FHIR Frog",
      "telecom": [
        {
          "system": "url",
          "value": "https://gitlab.com/fhirfrog"
        }
      ]
    }
  ],
  "description": "Covers the SHALL-level AU Core Location (2.0.0) requirements: read, search by each of the five documented search parameters (address, name, address-city, address-state, address-postalcode), must-support element presence, and profile conformance validation. Location is self-contained — no Patient reference is required for these search paths. Per fhirfrog/au-core-compiler#12, au-fhir-core-inferno's own LocationGroup only marks the name search as SHALL and treats address/address-city/address-state/address-postalcode as optional (SHOULD) single-param searches, with no dedicated first-class search test beyond that; the AU Core IG demands support for all five as part of the Location search capability, so this TestScript exercises all five explicitly rather than only mirroring Inferno's narrower baseline. As with au-core-patient (fhirfrog/au-core-compiler#6), this does not attempt Inferno's SHOULD/MAY-level combinatorial multi-param search coverage or MustSupport reference resolution (location_reference_resolution_test) — each search parameter gets one standalone test against the single fixture resource.",
  "fixture": [
    {
      "id": "location-organization-fixture",
      "autocreate": true,
      "autodelete": true,
      "resource": {
        "reference": "au-core-location-organization"
      }
    },
    {
      "id": "location-fixture",
      "autocreate": true,
      "autodelete": true,
      "resource": {
        "reference": "au-core-location-conformant"
      }
    }
  ],
  "variable": [
    {
      "name": "locationId",
      "path": "Location.id",
      "sourceId": "location-fixture"
    }
  ],
  "test": [
    {
      "name": "Read",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "read"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "/${locationId}"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "SearchByAddress",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "search"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "?address=Frogville"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "SearchByName",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "search"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "?name=Frog"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "SearchByAddressCity",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "search"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "?address-city=Frogville"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "SearchByAddressState",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "search"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "?address-state=NSW"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "SearchByAddressPostalcode",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "search"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "?address-postalcode=2000"
          }
        },
        {
          "assert": {
            "response": "okay",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Bundle.entry.resource.ofType(Location).name.where($this.contains('Frog')).exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "MustSupport",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "read"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "/${locationId}"
          }
        },
        {
          "assert": {
            "expression": "Location.address.exists()",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Location.managingOrganization.exists()",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Location.name.exists()",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Location.physicalType.exists()",
            "warningOnly": false
          }
        },
        {
          "assert": {
            "expression": "Location.type.exists()",
            "warningOnly": false
          }
        }
      ]
    },
    {
      "name": "ProfileValidation",
      "action": [
        {
          "operation": {
            "type": {
              "system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
              "code": "read"
            },
            "resource": "Location",
            "encodeRequestUrl": true,
            "params": "/${locationId}"
          }
        },
        {
          "assert": {
            "validateProfileId": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-location",
            "warningOnly": false
          }
        }
      ]
    }
  ]
}