diff --git a/.github/scripts/chaining-without-referential-integrity.sh b/.github/scripts/chaining-without-referential-integrity.sh new file mode 100755 index 000000000..b2d07db2d --- /dev/null +++ b/.github/scripts/chaining-without-referential-integrity.sh @@ -0,0 +1,15 @@ +#!/bin/bash -e + +BASE="http://localhost:8080/fhir" + +curl -sXPUT -d '{"resourceType": "Observation", "id": "0", "subject": {"reference": "Patient/0"}}' -H 'Content-Type: application/fhir+json' "$BASE/Observation/0" > /dev/null +curl -sXPUT -d '{"resourceType" : "Patient", "id": "0", "gender": "male"}' -H 'Content-Type: application/fhir+json' "$BASE/Patient/0" > /dev/null + +RESULT="$(curl -sH 'Prefer: handling=strict' -H 'Accept: application/fhir+json' "$BASE/Observation?patient.gender=male&_summary=count" | jq -r '.total')" + +if [ "$RESULT" = "1" ]; then + echo "Success: chaining works" +else + echo "Fail: chaining doesn't work" + exit 1 +fi diff --git a/.github/scripts/check-capability-statement.sh b/.github/scripts/check-capability-statement.sh index fc6c4aa69..d321df487 100755 --- a/.github/scripts/check-capability-statement.sh +++ b/.github/scripts/check-capability-statement.sh @@ -1,10 +1,8 @@ #!/bin/bash -e -SOFTWARE_NAME=$(curl -s http://localhost:8080/fhir/metadata | jq -r .software.name) +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" -if [ "Blaze" = "$SOFTWARE_NAME" ]; then - echo "Success" -else - echo "Fail" - exit 1 -fi +BASE="http://localhost:8080/fhir" + +test "software name" "$(curl -s "$BASE/metadata" | jq -r .software.name)" "Blaze" diff --git a/.github/scripts/check-total-number-of-resources.sh b/.github/scripts/check-total-number-of-resources.sh index a0d58ef38..f20a690dc 100755 --- a/.github/scripts/check-total-number-of-resources.sh +++ b/.github/scripts/check-total-number-of-resources.sh @@ -1,10 +1,6 @@ #!/bin/bash -e -TOTAL=$(curl -s http://localhost:8080/fhir | jq -r .total) +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" -if [ "$1" = "$TOTAL" ]; then - echo "Success" -else - echo "Fail: total number of resources was $TOTAL but should be $1" - exit 1 -fi +test "total number of resources" "$(curl -s http://localhost:8080/fhir | jq -r .total)" "$1" diff --git a/.github/scripts/conditional-create.sh b/.github/scripts/conditional-create.sh index 2108be8d5..730951dea 100755 --- a/.github/scripts/conditional-create.sh +++ b/.github/scripts/conditional-create.sh @@ -34,7 +34,7 @@ STATUS=$(curl -sH "Content-Type: application/fhir+json" \ -d "$(bundle)" "$BASE" | jq -r '.entry[].response.status') if [ "$STATUS" = "201" ]; then - echo "OK: first atempt created the Organization" + echo "OK: first attempt created the Organization" else echo "Fail: status was ${STATUS} but should be 201" exit 1 @@ -44,7 +44,7 @@ STATUS=$(curl -sH "Content-Type: application/fhir+json" \ -d "$(bundle)" "$BASE" | jq -r '.entry[].response.status') if [ "$STATUS" = "200" ]; then - echo "OK: second atempt returned the already created Organization" + echo "OK: second attempt returned the already created Organization" else echo "Fail: status was ${STATUS} but should be 200" exit 1 diff --git a/.github/scripts/conditional-update-if-none-match.sh b/.github/scripts/conditional-update-if-none-match.sh new file mode 100755 index 000000000..5dfdb6a27 --- /dev/null +++ b/.github/scripts/conditional-update-if-none-match.sh @@ -0,0 +1,22 @@ +#!/bin/bash -e + +# +# This script first creates a patient and expects the conditional update with +# If-None-Match=* to fail afterwards. +# + +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" + +BASE="http://localhost:8080/fhir" +PATIENT_ID=$(curl -sH "Content-Type: application/fhir+json" \ + -d '{"resourceType": "Patient"}' "$BASE/Patient" | jq -r .id) + +PATIENT="{\"resourceType\": \"Patient\", \"id\": \"$PATIENT_ID\"}" +RESULT=$(curl -sXPUT -H "Content-Type: application/fhir+json" -H "If-None-Match: *" \ + -d "$PATIENT" "$BASE/Patient/$PATIENT_ID") + +test "resource type" "$(echo "$RESULT" | jq -r .resourceType)" "OperationOutcome" +test "severity" "$(echo "$RESULT" | jq -r .issue[0].severity)" "error" +test "code" "$(echo "$RESULT" | jq -r .issue[0].code)" "conflict" +test "diagnostics" "$(echo "$RESULT" | jq -r .issue[0].diagnostics)" "Resource \`Patient/$PATIENT_ID\` already exists." diff --git a/.github/scripts/cql/q1.yml b/.github/scripts/cql/q1.yml new file mode 100644 index 000000000..5090e655b --- /dev/null +++ b/.github/scripts/cql/q1.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q1.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q14.yml b/.github/scripts/cql/q14.yml new file mode 100644 index 000000000..a020b2cc2 --- /dev/null +++ b/.github/scripts/cql/q14.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q14.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q15.yml b/.github/scripts/cql/q15.yml new file mode 100644 index 000000000..091142b7f --- /dev/null +++ b/.github/scripts/cql/q15.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q15.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q17.yml b/.github/scripts/cql/q17.yml new file mode 100644 index 000000000..689103115 --- /dev/null +++ b/.github/scripts/cql/q17.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q17.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q19-stratifier-ageclass.csv b/.github/scripts/cql/q19-stratifier-ageclass.csv new file mode 100644 index 000000000..bb0b0f3d0 --- /dev/null +++ b/.github/scripts/cql/q19-stratifier-ageclass.csv @@ -0,0 +1,11 @@ +"0",7 +"10",15 +"100",3 +"20",13 +"30",10 +"40",13 +"50",19 +"60",15 +"70",16 +"80",2 +"90",7 diff --git a/.github/scripts/cql/q19-stratifier-ageclass.yml b/.github/scripts/cql/q19-stratifier-ageclass.yml new file mode 100644 index 000000000..04a63a48b --- /dev/null +++ b/.github/scripts/cql/q19-stratifier-ageclass.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q19-stratifier-ageclass.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: ageclass + expression: AgeClass diff --git a/.github/scripts/cql/q2.yml b/.github/scripts/cql/q2.yml new file mode 100644 index 000000000..5680bbd40 --- /dev/null +++ b/.github/scripts/cql/q2.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q2.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q20-stratifier-city.csv b/.github/scripts/cql/q20-stratifier-city.csv new file mode 100644 index 000000000..20e12f7b9 --- /dev/null +++ b/.github/scripts/cql/q20-stratifier-city.csv @@ -0,0 +1,68 @@ +"Abington",1 +"Acton",1 +"Acushnet",1 +"Adams",1 +"Amherst",1 +"Arlington",1 +"Attleboro",2 +"Auburn",1 +"Barnstable",2 +"Billerica",1 +"Boston",8 +"Boxborough",1 +"Brimfield",1 +"Brockton",1 +"Cambridge",1 +"Charlton",1 +"Chelsea",2 +"Concord",1 +"Dracut",2 +"East Douglas",7 +"East Sandwich",1 +"Easton",3 +"Everett",1 +"Fall River",1 +"Foxborough",1 +"Framingham",1 +"Grafton",1 +"Greenfield",1 +"Hampden",1 +"Harvard",1 +"Haverhill",1 +"Hingham",1 +"Hudson",1 +"Lancaster",1 +"Lawrence",1 +"Lexington",3 +"Ludlow",2 +"Marlborough",3 +"Medford",2 +"Methuen",1 +"Milford",1 +"Nantucket",1 +"New Bedford",1 +"Newton",4 +"North Andover",1 +"Norwood",3 +"Peabody",1 +"Plymouth",3 +"Pocasset",1 +"Quincy",1 +"Rehoboth",3 +"Sandwich",3 +"Shrewsbury",1 +"Somerville",3 +"Springfield",3 +"Stoughton",1 +"Swampscott",1 +"Taunton",3 +"Topsfield",1 +"Upton",1 +"Walpole",1 +"Waltham",2 +"Watertown",1 +"Weymouth",1 +"Williamstown",1 +"Winchendon",1 +"Winchester",1 +"Worcester",10 diff --git a/.github/scripts/cql/q20-stratifier-city.yml b/.github/scripts/cql/q20-stratifier-city.yml new file mode 100644 index 000000000..df622e9d1 --- /dev/null +++ b/.github/scripts/cql/q20-stratifier-city.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q20-stratifier-city.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: city + expression: City diff --git a/.github/scripts/cql/q21-stratifier-city-of-only-women.csv b/.github/scripts/cql/q21-stratifier-city-of-only-women.csv new file mode 100644 index 000000000..eb642f711 --- /dev/null +++ b/.github/scripts/cql/q21-stratifier-city-of-only-women.csv @@ -0,0 +1,41 @@ +"Acton",1 +"Acushnet",1 +"Adams",1 +"Amherst",1 +"Auburn",1 +"Barnstable",1 +"Billerica",1 +"Boston",5 +"Boxborough",1 +"Chelsea",1 +"Concord",1 +"East Douglas",7 +"Easton",3 +"Everett",1 +"Fall River",1 +"Foxborough",1 +"Framingham",1 +"Greenfield",1 +"Hampden",1 +"Harvard",1 +"Haverhill",1 +"Hingham",1 +"Hudson",1 +"Lancaster",1 +"Marlborough",1 +"New Bedford",1 +"Newton",1 +"Norwood",1 +"Peabody",1 +"Plymouth",2 +"Pocasset",1 +"Quincy",1 +"Rehoboth",3 +"Springfield",3 +"Stoughton",1 +"Taunton",2 +"Upton",1 +"Watertown",1 +"Winchendon",1 +"Winchester",1 +"Worcester",6 diff --git a/.github/scripts/cql/q21-stratifier-city-of-only-women.yml b/.github/scripts/cql/q21-stratifier-city-of-only-women.yml new file mode 100644 index 000000000..270a8d532 --- /dev/null +++ b/.github/scripts/cql/q21-stratifier-city-of-only-women.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q21-stratifier-city-of-only-women.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: city + expression: City diff --git a/.github/scripts/cql/q26-stratifier-bmi.csv b/.github/scripts/cql/q26-stratifier-bmi.csv new file mode 100644 index 000000000..bddbbcc68 --- /dev/null +++ b/.github/scripts/cql/q26-stratifier-bmi.csv @@ -0,0 +1,23 @@ +"15",4 +"16",5 +"17",4 +"18",2 +"19",2 +"20",3 +"21",4 +"22",5 +"23",3 +"24",3 +"25",3 +"26",3 +"27",11 +"28",22 +"29",26 +"30",8 +"31",5 +"32",1 +"35",1 +"39",2 +"40",1 +"41",1 +"null",1 diff --git a/.github/scripts/cql/q26-stratifier-bmi.yml b/.github/scripts/cql/q26-stratifier-bmi.yml new file mode 100644 index 000000000..562c6d242 --- /dev/null +++ b/.github/scripts/cql/q26-stratifier-bmi.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q26-stratifier-bmi.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: bmi + expression: Bmi diff --git a/.github/scripts/cql/q27-stratifier-calculated-bmi.csv b/.github/scripts/cql/q27-stratifier-calculated-bmi.csv new file mode 100644 index 000000000..78270f7cd --- /dev/null +++ b/.github/scripts/cql/q27-stratifier-calculated-bmi.csv @@ -0,0 +1,74 @@ +"15.0",1 +"15.6",1 +"15.7",1 +"16.1",1 +"16.2",1 +"16.7",1 +"16.9",2 +"17.0",1 +"17.7",1 +"17.8",1 +"17.9",1 +"18.3",1 +"18.8",1 +"19.3",1 +"19.4",1 +"19.8",1 +"19.9",1 +"21.2",2 +"21.4",1 +"21.9",1 +"22.6",1 +"22.7",1 +"23.1",1 +"23.2",2 +"23.8",1 +"24.1",1 +"24.3",1 +"24.7",1 +"24.9",1 +"25.4",2 +"25.8",1 +"26.2",1 +"26.3",1 +"26.4",1 +"26.5",1 +"27.2",2 +"27.3",2 +"27.4",6 +"27.5",4 +"27.6",3 +"27.7",2 +"27.8",8 +"27.9",3 +"28.0",2 +"28.1",1 +"28.2",3 +"28.4",1 +"28.5",1 +"28.6",1 +"28.7",1 +"28.8",2 +"29.0",2 +"29.1",1 +"29.7",2 +"29.8",1 +"29.9",1 +"30.0",1 +"30.1",2 +"30.2",5 +"30.3",5 +"30.4",3 +"30.5",4 +"30.6",1 +"30.8",1 +"30.9",1 +"31.5",1 +"31.7",1 +"34.1",1 +"34.2",1 +"35.8",1 +"38.5",1 +"38.6",1 +"40.1",1 +"41.4",1 diff --git a/.github/scripts/cql/q27-stratifier-calculated-bmi.yml b/.github/scripts/cql/q27-stratifier-calculated-bmi.yml new file mode 100644 index 000000000..23d5823a8 --- /dev/null +++ b/.github/scripts/cql/q27-stratifier-calculated-bmi.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q27-stratifier-calculated-bmi.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: bmi + expression: Bmi diff --git a/.github/scripts/cql/q32-stratifier-underweight.csv b/.github/scripts/cql/q32-stratifier-underweight.csv new file mode 100644 index 000000000..621fc16f5 --- /dev/null +++ b/.github/scripts/cql/q32-stratifier-underweight.csv @@ -0,0 +1 @@ +"false",120 diff --git a/.github/scripts/cql/q32-stratifier-underweight.yml b/.github/scripts/cql/q32-stratifier-underweight.yml new file mode 100644 index 000000000..e83e2f4e6 --- /dev/null +++ b/.github/scripts/cql/q32-stratifier-underweight.yml @@ -0,0 +1,8 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q32-stratifier-underweight.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: underweight + expression: Underweight diff --git a/.github/scripts/cql/q37-overlaps.yml b/.github/scripts/cql/q37-overlaps.yml new file mode 100644 index 000000000..00c043174 --- /dev/null +++ b/.github/scripts/cql/q37-overlaps.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q37-overlaps.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q4.yml b/.github/scripts/cql/q4.yml new file mode 100644 index 000000000..2a943d46d --- /dev/null +++ b/.github/scripts/cql/q4.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q4.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q46-between-date.yml b/.github/scripts/cql/q46-between-date.yml new file mode 100644 index 000000000..6e6bcd29a --- /dev/null +++ b/.github/scripts/cql/q46-between-date.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q46-between-date.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/cql/q7.yml b/.github/scripts/cql/q7.yml new file mode 100644 index 000000000..c34ce1b45 --- /dev/null +++ b/.github/scripts/cql/q7.yml @@ -0,0 +1,5 @@ +library: modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q7.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/.github/scripts/download-resources-query-sort.sh b/.github/scripts/download-resources-query-sort.sh index c990a9999..e498ebd21 100755 --- a/.github/scripts/download-resources-query-sort.sh +++ b/.github/scripts/download-resources-query-sort.sh @@ -7,7 +7,7 @@ SORT=$3 EXPECTED_SIZE=$4 FILE_NAME_PREFIX="$(uuidgen)" -blazectl --server "$BASE" download "$TYPE" -q "_sort=$SORT&$QUERY" -o "$FILE_NAME_PREFIX-get".ndjson +blazectl --no-progress --server "$BASE" download "$TYPE" -q "_sort=$SORT&$QUERY" -o "$FILE_NAME_PREFIX-get".ndjson SIZE=$(wc -l "$FILE_NAME_PREFIX-get".ndjson | xargs | cut -d ' ' -f1) if [ "$EXPECTED_SIZE" = "$SIZE" ]; then diff --git a/.github/scripts/download-resources-query.sh b/.github/scripts/download-resources-query.sh index 2efe99c18..2b3f11bec 100755 --- a/.github/scripts/download-resources-query.sh +++ b/.github/scripts/download-resources-query.sh @@ -6,7 +6,7 @@ QUERY=$2 EXPECTED_SIZE=$3 FILE_NAME_PREFIX="$(uuidgen)" -blazectl --server "$BASE" download "$TYPE" -q "$QUERY" -o "$FILE_NAME_PREFIX-get".ndjson +blazectl --no-progress --server "$BASE" download "$TYPE" -q "$QUERY" -o "$FILE_NAME_PREFIX-get".ndjson SIZE=$(wc -l "$FILE_NAME_PREFIX-get".ndjson | xargs | cut -d ' ' -f1) if [ "$EXPECTED_SIZE" = "$SIZE" ]; then diff --git a/.github/scripts/download-resources.sh b/.github/scripts/download-resources.sh index 0d3dc6b53..3b8850011 100755 --- a/.github/scripts/download-resources.sh +++ b/.github/scripts/download-resources.sh @@ -1,17 +1,13 @@ #!/bin/bash -e +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" + BASE="http://localhost:8080/fhir" TYPE=$1 EXPECTED_SIZE=$(curl -s "$BASE/${TYPE}?_summary=count" | jq -r .total) FILE_NAME=$(uuidgen) -blazectl --server $BASE download "$TYPE" -o "$FILE_NAME".ndjson - -SIZE=$(wc -l "$FILE_NAME".ndjson | xargs | cut -d ' ' -f1) +blazectl --no-progress --server $BASE download "$TYPE" -o "$FILE_NAME".ndjson -if [ "$EXPECTED_SIZE" = "$SIZE" ]; then - echo "Success: download size matches" -else - echo "Fail: download size was ${SIZE} but should be ${EXPECTED_SIZE}" - exit 1 -fi +test "download size" "$(wc -l "$FILE_NAME".ndjson | xargs | cut -d ' ' -f1)" "$EXPECTED_SIZE" diff --git a/.github/scripts/evaluate-measure-blazectl-stratifier.sh b/.github/scripts/evaluate-measure-blazectl-stratifier.sh new file mode 100755 index 000000000..c388320d1 --- /dev/null +++ b/.github/scripts/evaluate-measure-blazectl-stratifier.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +BASE="http://localhost:8080/fhir" +NAME="$1" +EXPECTED_COUNT="$2" + +REPORT=$(blazectl --server "$BASE" evaluate-measure ".github/scripts/cql/$NAME.yml" 2> /dev/null) +COUNT=$(echo "$REPORT" | jq '.group[0].population[0].count') + +if [ "$COUNT" = "$EXPECTED_COUNT" ]; then + echo "Success: count ($COUNT) equals the expected count" +else + echo "Fail: count ($COUNT) != $EXPECTED_COUNT" + exit 1 +fi + +STRATIFIER_DATA=$(echo "$REPORT" | jq -r '.group[0].stratifier[0].stratum[] | [.value.text, .population[0].count] | @csv') +EXPECTED_STRATIFIER_DATA=$(cat ".github/scripts/cql/$NAME.csv") + +if [ "$STRATIFIER_DATA" = "$EXPECTED_STRATIFIER_DATA" ]; then + echo "Success: stratifier data equals the expected stratifier data" +else + echo "Fail: stratifier data differs" + echo "$STRATIFIER_DATA" + exit 1 +fi diff --git a/.github/scripts/evaluate-measure-blazectl.sh b/.github/scripts/evaluate-measure-blazectl.sh new file mode 100755 index 000000000..96ea962e1 --- /dev/null +++ b/.github/scripts/evaluate-measure-blazectl.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +BASE="http://localhost:8080/fhir" +NAME="$1" +EXPECTED_COUNT="$2" + +COUNT=$(blazectl --server "$BASE" evaluate-measure ".github/scripts/cql/$NAME.yml" 2> /dev/null | jq '.group[0].population[0].count') + +if [ "$COUNT" = "$EXPECTED_COUNT" ]; then + echo "Success: count ($COUNT) equals the expected count" +else + echo "Fail: count ($COUNT) != $EXPECTED_COUNT" + exit 1 +fi diff --git a/.github/scripts/evaluate-measure-subject-list.sh b/.github/scripts/evaluate-measure-subject-list.sh index a346966b6..e5583c160 100755 --- a/.github/scripts/evaluate-measure-subject-list.sh +++ b/.github/scripts/evaluate-measure-subject-list.sh @@ -107,10 +107,10 @@ fetch-patients() { } BASE="http://localhost:8080/fhir" -FILE=$1 +NAME=$1 EXPECTED_COUNT=$2 -DATA=$(base64 "$FILE" | tr -d '\n') +DATA=$(base64 "modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/$NAME.cql" | tr -d '\n') LIBRARY_URI=$(uuidgen | tr '[:upper:]' '[:lower:]') MEASURE_URI=$(uuidgen | tr '[:upper:]' '[:lower:]') diff --git a/.github/scripts/evaluate-measure.sh b/.github/scripts/evaluate-measure.sh index 60ac5ece0..5020a851a 100755 --- a/.github/scripts/evaluate-measure.sh +++ b/.github/scripts/evaluate-measure.sh @@ -81,10 +81,10 @@ evaluate-measure() { } BASE="http://localhost:8080/fhir" -FILE=$1 -EXPECTED_COUNT=$2 +NAME="$1" +EXPECTED_COUNT="$2" -DATA=$(base64 "$FILE" | tr -d '\n') +DATA=$(base64 "modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/$NAME.cql" | tr -d '\n') LIBRARY_URI=$(uuidgen | tr '[:upper:]' '[:lower:]') MEASURE_URI=$(uuidgen | tr '[:upper:]' '[:lower:]') diff --git a/.github/scripts/install-blazectl.sh b/.github/scripts/install-blazectl.sh index 8199b33dc..8adefb615 100755 --- a/.github/scripts/install-blazectl.sh +++ b/.github/scripts/install-blazectl.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -VERSION=0.9.0 +VERSION=0.12.0 curl -sLO https://github.com/samply/blazectl/releases/download/v${VERSION}/blazectl-${VERSION}-linux-amd64.tar.gz tar xzf blazectl-${VERSION}-linux-amd64.tar.gz diff --git a/.github/scripts/revinclude.sh b/.github/scripts/revinclude.sh index c4ad7f0ff..0b87aac40 100755 --- a/.github/scripts/revinclude.sh +++ b/.github/scripts/revinclude.sh @@ -7,7 +7,7 @@ EXPECTED_NUM_CONDITIONS=$(curl -s "$BASE/Condition?_summary=count" | jq -r .tota EXPECTED_NUM_ENCOUNTERS=$(curl -s "$BASE/Encounter?_summary=count" | jq -r .total) EXPECTED_NUM_PROCEDURES=$(curl -s "$BASE/Procedure?_summary=count" | jq -r .total) -blazectl --server $BASE download Patient -q '_revinclude=Observation:subject&_revinclude=Condition:subject&_revinclude=Procedure:subject&_revinclude=Encounter:subject' -o output.ndjson +blazectl --server $BASE download Patient -q '_count=1&_revinclude=Observation:subject&_revinclude=Condition:subject&_revinclude=Procedure:subject&_revinclude=Encounter:subject' -o output.ndjson ACTUAL_NUM_PATIENTS=$(jq -r .resourceType output.ndjson | grep -c Patient) ACTUAL_NUM_OBSERVATIONS=$(jq -r .resourceType output.ndjson | grep -c Observation) diff --git a/.github/scripts/transaction-rw.sh b/.github/scripts/transaction-rw.sh index b36cb2093..a319a3ff5 100755 --- a/.github/scripts/transaction-rw.sh +++ b/.github/scripts/transaction-rw.sh @@ -4,6 +4,9 @@ # This script creates and reads a patient in a single transaction. # +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" + BASE="http://localhost:8080/fhir" PATIENT_ID="e42a47bb-a371-4cf5-9f17-51e59c1f612a" @@ -35,34 +38,7 @@ END } RESULT=$(curl -sH "Content-Type: application/fhir+json" -d "$(bundle)" "$BASE") -RESOURCE_TYPE="$(echo "$RESULT" | jq -r .resourceType)" -if [ "$RESOURCE_TYPE" = "Bundle" ]; then - echo "OK: the resource type is Bundle" -else - echo "Fail: the resource type is $RESOURCE_TYPE, expected Bundle" - exit 1 -fi - -BUNDLE_TYPE="$(echo "$RESULT" | jq -r .type)" -if [ "$BUNDLE_TYPE" = "transaction-response" ]; then - echo "OK: the bundle type is transaction-response" -else - echo "Fail: the bundle type is $BUNDLE_TYPE, expected transaction-response" - exit 1 -fi - -RESPONSE_STATUS="$(echo "$RESULT" | jq -r .entry[1].response.status)" -if [ "$RESPONSE_STATUS" = "200" ]; then - echo "OK: the response status is 200" -else - echo "Fail: the response status is $RESPONSE_STATUS, expected 200" - exit 1 -fi - -RESPONSE_PATIENT_ID="$(echo "$RESULT" | jq -r .entry[1].resource.id)" -if [ "$RESPONSE_PATIENT_ID" = "$PATIENT_ID" ]; then - echo "OK: patient id's match" -else - echo "Fail: response patient id was $RESPONSE_PATIENT_ID but should be $RESPONSE_PATIENT_ID" - exit 1 -fi +test "resource type" "$(echo "$RESULT" | jq -r .resourceType)" "Bundle" +test "bundle type" "$(echo "$RESULT" | jq -r .type)" "transaction-response" +test "response status" "$(echo "$RESULT" | jq -r .entry[1].response.status)" "200" +test "patient id" "$(echo "$RESULT" | jq -r .entry[1].resource.id)" "$PATIENT_ID" diff --git a/.github/scripts/transaction.sh b/.github/scripts/transaction.sh index 67f03f412..4188792ac 100755 --- a/.github/scripts/transaction.sh +++ b/.github/scripts/transaction.sh @@ -5,6 +5,9 @@ # request. # +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +. "$SCRIPT_DIR/util.sh" + BASE="http://localhost:8080/fhir" PATIENT_ID=$(curl -sH "Content-Type: application/fhir+json" \ -d '{"resourceType": "Patient"}' "$BASE/Patient" | jq -r .id) @@ -27,34 +30,7 @@ END } RESULT=$(curl -sH "Content-Type: application/fhir+json" -d "$(bundle)" "$BASE") -RESOURCE_TYPE="$(echo "$RESULT" | jq -r .resourceType)" -if [ "$RESOURCE_TYPE" = "Bundle" ]; then - echo "OK: the resource type is Bundle" -else - echo "Fail: the resource type is $RESOURCE_TYPE, expected Bundle" - exit 1 -fi - -BUNDLE_TYPE="$(echo "$RESULT" | jq -r .type)" -if [ "$BUNDLE_TYPE" = "transaction-response" ]; then - echo "OK: the bundle type is transaction-response" -else - echo "Fail: the bundle type is $BUNDLE_TYPE, expected transaction-response" - exit 1 -fi - -RESPONSE_STATUS="$(echo "$RESULT" | jq -r .entry[].response.status)" -if [ "$RESPONSE_STATUS" = "200" ]; then - echo "OK: the response status is 200" -else - echo "Fail: the response status is $RESPONSE_STATUS, expected 200" - exit 1 -fi - -RESPONSE_PATIENT_ID="$(echo "$RESULT" | jq -r .entry[].resource.id)" -if [ "$RESPONSE_PATIENT_ID" = "$PATIENT_ID" ]; then - echo "OK: patient id's match" -else - echo "Fail: response patient id was $RESPONSE_PATIENT_ID but should be $RESPONSE_PATIENT_ID" - exit 1 -fi +test "resource type" "$(echo "$RESULT" | jq -r .resourceType)" "Bundle" +test "bundle type" "$(echo "$RESULT" | jq -r .type)" "transaction-response" +test "response status" "$(echo "$RESULT" | jq -r .entry[].response.status)" "200" +test "patient id" "$(echo "$RESULT" | jq -r .entry[].resource.id)" "$PATIENT_ID" diff --git a/.github/scripts/util.sh b/.github/scripts/util.sh new file mode 100644 index 000000000..93519cd2d --- /dev/null +++ b/.github/scripts/util.sh @@ -0,0 +1,10 @@ +#!/bin/bash -e + +test() { + if [ "$2" = "$3" ]; then + echo "OK: the $1 is $3" + else + echo "Fail: the $1 is $2, expected $3" + exit 1 + fi +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c96b08587..687f61009 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ on: jobs: lint: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Clojure @@ -73,7 +73,7 @@ jobs: - '11' - '17' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -85,7 +85,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -104,7 +104,7 @@ jobs: needs: [ test ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -116,7 +116,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -146,7 +146,7 @@ jobs: - '11' - '17' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -158,7 +158,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -174,7 +174,7 @@ jobs: build: needs: [ test, test-root ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -186,7 +186,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -200,8 +200,11 @@ jobs: - name: Build Uberjar run: make uberjar - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + - name: Upload Blaze Uberjar + uses: actions/upload-artifact@v3 + with: + name: blaze-uberjar + path: target/blaze-0.18.5-standalone.jar - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -213,9 +216,29 @@ jobs: tags: blaze:latest outputs: type=docker,dest=/tmp/blaze.tar + - name: Upload Blaze Image + uses: actions/upload-artifact@v3 + with: + name: blaze-image + path: /tmp/blaze.tar + + image-scan: + needs: build + runs-on: ubuntu-22.04 + + steps: + - name: Download Blaze Image + uses: actions/download-artifact@v3 + with: + name: blaze-image + path: /tmp + - name: Load Blaze Image run: docker load --input /tmp/blaze.tar + - name: Check out Git repository + uses: actions/checkout@v3 + - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: @@ -229,51 +252,9 @@ jobs: with: sarif_file: trivy-results.sarif - - name: Upload Blaze Image - uses: actions/upload-artifact@v3 - with: - name: blaze-image - path: /tmp/blaze.tar - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.CR_PAT }} - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Docker meta - id: docker-meta - uses: docker/metadata-action@v4 - with: - images: | - samply/blaze - ghcr.io/samply/blaze - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ steps.docker-meta.outputs.tags }} - labels: ${{ steps.docker-meta.outputs.labels }} - integration-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -334,7 +315,7 @@ jobs: run: .github/scripts/download-resources-query.sh Observation "code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9" 2399 - name: Download Observation Resources with all LOINC Codes - run: .github/scripts/download-resources-query.sh Observation "code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9,http://loinc.org|1920-8,http://loinc.org|1960-4,http://loinc.org|1975-2,http://loinc.org|1988-5,http://loinc.org|19926-5,http://loinc.org|19994-3,http://loinc.org|2019-8,http://loinc.org|2028-9,http://loinc.org|20454-5,http://loinc.org|20505-4,http://loinc.org|20565-8,http://loinc.org|20570-8,http://loinc.org|2069-3,http://loinc.org|2075-0,http://loinc.org|2085-9,http://loinc.org|2093-3,http://loinc.org|21000-5,http://loinc.org|2157-6,http://loinc.org|2160-0,http://loinc.org|21905-5,http://loinc.org|21906-3,http://loinc.org|21907-1,http://loinc.org|21908-9,http://loinc.org|2276-4,http://loinc.org|2339-0,http://loinc.org|2345-7,http://loinc.org|2498-4,http://loinc.org|2500-7,http://loinc.org|2502-3,http://loinc.org|2514-8,http://loinc.org|2532-0,http://loinc.org|25428-4,http://loinc.org|2571-8,http://loinc.org|26881-3,http://loinc.org|2703-7,http://loinc.org|2708-6,http://loinc.org|2713-6,http://loinc.org|2744-1,http://loinc.org|2823-3,http://loinc.org|28245-9,http://loinc.org|2857-1,http://loinc.org|2885-2,http://loinc.org|29463-7,http://loinc.org|2947-0,http://loinc.org|2951-2,http://loinc.org|3094-0,http://loinc.org|32167-9,http://loinc.org|32207-3,http://loinc.org|32465-7,http://loinc.org|32623-1,http://loinc.org|33728-7,http://loinc.org|33756-8,http://loinc.org|33762-6,http://loinc.org|33914-3,http://loinc.org|33959-8,http://loinc.org|38208-5,http://loinc.org|38265-5,http://loinc.org|38483-4,http://loinc.org|39156-5,http://loinc.org|44667-4,http://loinc.org|44963-7,http://loinc.org|4544-3,http://loinc.org|4548-4,http://loinc.org|46240-8,http://loinc.org|46288-7,http://loinc.org|48065-7,http://loinc.org|49765-1,http://loinc.org|55277-8,http://loinc.org|5767-9,http://loinc.org|5770-3,http://loinc.org|5778-6,http://loinc.org|57905-2,http://loinc.org|5792-7,http://loinc.org|5794-3,http://loinc.org|5797-6,http://loinc.org|5799-2,http://loinc.org|5802-4,http://loinc.org|5803-2,http://loinc.org|5804-0,http://loinc.org|5811-5,http://loinc.org|5902-2,http://loinc.org|59032-3,http://loinc.org|5905-5,http://loinc.org|59408-5,http://loinc.org|59557-9,http://loinc.org|59576-9,http://loinc.org|6075-6,http://loinc.org|6082-2,http://loinc.org|6085-5,http://loinc.org|6095-4,http://loinc.org|6106-9,http://loinc.org|6158-0,http://loinc.org|6189-5,http://loinc.org|6206-7,http://loinc.org|6246-3,http://loinc.org|6248-9,http://loinc.org|6273-7,http://loinc.org|6276-0,http://loinc.org|6298-4,http://loinc.org|6299-2,http://loinc.org|6301-6,http://loinc.org|63513-6,http://loinc.org|65750-2,http://loinc.org|66519-0,http://loinc.org|66524-0,http://loinc.org|66529-9,http://loinc.org|66534-9,http://loinc.org|6690-2,http://loinc.org|6768-6,http://loinc.org|6833-8,http://loinc.org|6844-5,http://loinc.org|69453-9,http://loinc.org|704-7,http://loinc.org|706-2,http://loinc.org|711-2,http://loinc.org|713-8,http://loinc.org|718-7,http://loinc.org|71802-3,http://loinc.org|72106-8,http://loinc.org|72166-2,http://loinc.org|72514-3,http://loinc.org|7258-7,http://loinc.org|731-0,http://loinc.org|736-9,http://loinc.org|742-7,http://loinc.org|751-8,http://loinc.org|75325-1,http://loinc.org|76690-7,http://loinc.org|770-8,http://loinc.org|77606-2,http://loinc.org|777-3,http://loinc.org|785-6,http://loinc.org|786-4,http://loinc.org|787-2,http://loinc.org|788-0,http://loinc.org|789-8,http://loinc.org|80382-5,http://loinc.org|80383-3,http://loinc.org|8302-2,http://loinc.org|8310-5,http://loinc.org|8331-1,http://loinc.org|8478-0,http://loinc.org|85318-4,http://loinc.org|85319-2,http://loinc.org|85337-4,http://loinc.org|85339-0,http://loinc.org|85352-3,http://loinc.org|85354-9,http://loinc.org|88020-3,http://loinc.org|88021-1,http://loinc.org|88040-1,http://loinc.org|88262-1,http://loinc.org|8867-4,http://loinc.org|89579-7,http://loinc.org|91148-7,http://loinc.org|92130-4,http://loinc.org|92131-2,http://loinc.org|92134-6,http://loinc.org|92138-7,http://loinc.org|92139-5,http://loinc.org|92140-3,http://loinc.org|92141-1,http://loinc.org|92142-9,http://loinc.org|9279-1,http://loinc.org|94040-3,http://loinc.org|94531-1,http://loinc.org|9843-4,http://loinc.org|99999-0" 42929 + run: .github/scripts/download-resources-query.sh Observation "_count=500&code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9,http://loinc.org|1920-8,http://loinc.org|1960-4,http://loinc.org|1975-2,http://loinc.org|1988-5,http://loinc.org|19926-5,http://loinc.org|19994-3,http://loinc.org|2019-8,http://loinc.org|2028-9,http://loinc.org|20454-5,http://loinc.org|20505-4,http://loinc.org|20565-8,http://loinc.org|20570-8,http://loinc.org|2069-3,http://loinc.org|2075-0,http://loinc.org|2085-9,http://loinc.org|2093-3,http://loinc.org|21000-5,http://loinc.org|2157-6,http://loinc.org|2160-0,http://loinc.org|21905-5,http://loinc.org|21906-3,http://loinc.org|21907-1,http://loinc.org|21908-9,http://loinc.org|2276-4,http://loinc.org|2339-0,http://loinc.org|2345-7,http://loinc.org|2498-4,http://loinc.org|2500-7,http://loinc.org|2502-3,http://loinc.org|2514-8,http://loinc.org|2532-0,http://loinc.org|25428-4,http://loinc.org|2571-8,http://loinc.org|26881-3,http://loinc.org|2703-7,http://loinc.org|2708-6,http://loinc.org|2713-6,http://loinc.org|2744-1,http://loinc.org|2823-3,http://loinc.org|28245-9,http://loinc.org|2857-1,http://loinc.org|2885-2,http://loinc.org|29463-7,http://loinc.org|2947-0,http://loinc.org|2951-2,http://loinc.org|3094-0,http://loinc.org|32167-9,http://loinc.org|32207-3,http://loinc.org|32465-7,http://loinc.org|32623-1,http://loinc.org|33728-7,http://loinc.org|33756-8,http://loinc.org|33762-6,http://loinc.org|33914-3,http://loinc.org|33959-8,http://loinc.org|38208-5,http://loinc.org|38265-5,http://loinc.org|38483-4,http://loinc.org|39156-5,http://loinc.org|44667-4,http://loinc.org|44963-7,http://loinc.org|4544-3,http://loinc.org|4548-4,http://loinc.org|46240-8,http://loinc.org|46288-7,http://loinc.org|48065-7,http://loinc.org|49765-1,http://loinc.org|55277-8,http://loinc.org|5767-9,http://loinc.org|5770-3,http://loinc.org|5778-6,http://loinc.org|57905-2,http://loinc.org|5792-7,http://loinc.org|5794-3,http://loinc.org|5797-6,http://loinc.org|5799-2,http://loinc.org|5802-4,http://loinc.org|5803-2,http://loinc.org|5804-0,http://loinc.org|5811-5,http://loinc.org|5902-2,http://loinc.org|59032-3,http://loinc.org|5905-5,http://loinc.org|59408-5,http://loinc.org|59557-9,http://loinc.org|59576-9,http://loinc.org|6075-6,http://loinc.org|6082-2,http://loinc.org|6085-5,http://loinc.org|6095-4,http://loinc.org|6106-9,http://loinc.org|6158-0,http://loinc.org|6189-5,http://loinc.org|6206-7,http://loinc.org|6246-3,http://loinc.org|6248-9,http://loinc.org|6273-7,http://loinc.org|6276-0,http://loinc.org|6298-4,http://loinc.org|6299-2,http://loinc.org|6301-6,http://loinc.org|63513-6,http://loinc.org|65750-2,http://loinc.org|66519-0,http://loinc.org|66524-0,http://loinc.org|66529-9,http://loinc.org|66534-9,http://loinc.org|6690-2,http://loinc.org|6768-6,http://loinc.org|6833-8,http://loinc.org|6844-5,http://loinc.org|69453-9,http://loinc.org|704-7,http://loinc.org|706-2,http://loinc.org|711-2,http://loinc.org|713-8,http://loinc.org|718-7,http://loinc.org|71802-3,http://loinc.org|72106-8,http://loinc.org|72166-2,http://loinc.org|72514-3,http://loinc.org|7258-7,http://loinc.org|731-0,http://loinc.org|736-9,http://loinc.org|742-7,http://loinc.org|751-8,http://loinc.org|75325-1,http://loinc.org|76690-7,http://loinc.org|770-8,http://loinc.org|77606-2,http://loinc.org|777-3,http://loinc.org|785-6,http://loinc.org|786-4,http://loinc.org|787-2,http://loinc.org|788-0,http://loinc.org|789-8,http://loinc.org|80382-5,http://loinc.org|80383-3,http://loinc.org|8302-2,http://loinc.org|8310-5,http://loinc.org|8331-1,http://loinc.org|8478-0,http://loinc.org|85318-4,http://loinc.org|85319-2,http://loinc.org|85337-4,http://loinc.org|85339-0,http://loinc.org|85352-3,http://loinc.org|85354-9,http://loinc.org|88020-3,http://loinc.org|88021-1,http://loinc.org|88040-1,http://loinc.org|88262-1,http://loinc.org|8867-4,http://loinc.org|89579-7,http://loinc.org|91148-7,http://loinc.org|92130-4,http://loinc.org|92131-2,http://loinc.org|92134-6,http://loinc.org|92138-7,http://loinc.org|92139-5,http://loinc.org|92140-3,http://loinc.org|92141-1,http://loinc.org|92142-9,http://loinc.org|9279-1,http://loinc.org|94040-3,http://loinc.org|94531-1,http://loinc.org|9843-4,http://loinc.org|99999-0" 42929 - name: Download Observation Resources of male Patients run: .github/scripts/download-resources-query.sh Observation "patient.gender=male" 20466 @@ -346,7 +327,7 @@ jobs: run: .github/scripts/download-resources-query-sort.sh Observation "patient.gender=male" "-_lastUpdated" 20466 - name: Download Observation Resources of female Patients - run: .github/scripts/download-resources-query.sh Observation "patient.gender=female" 22463 + run: .github/scripts/download-resources-query.sh Observation "_count=500&patient.gender=female" 22463 - name: Download Observation Resources of female Patients Sorted Ascending run: .github/scripts/download-resources-query-sort.sh Observation "patient.gender=female" "_lastUpdated" 22463 @@ -397,58 +378,109 @@ jobs: run: .github/scripts/search-compartment.sh - name: Evaluate CQL Query 1 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q1.cql 56 + run: .github/scripts/evaluate-measure.sh q1 56 + + - name: Evaluate CQL Query 1 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q1 56 - name: Evaluate CQL Query 1 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q1.cql 56 + run: .github/scripts/evaluate-measure-subject-list.sh q1 56 - name: Evaluate CQL Query 1 on Individual Patients run: .github/scripts/evaluate-patient-q1-measure.sh - name: Evaluate CQL Query 2 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q2.cql 42 + run: .github/scripts/evaluate-measure.sh q2 42 + + - name: Evaluate CQL Query 2 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q2 42 - name: Evaluate CQL Query 2 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q2.cql 42 + run: .github/scripts/evaluate-measure-subject-list.sh q2 42 - name: Evaluate CQL Query 4 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q4.cql 0 + run: .github/scripts/evaluate-measure.sh q4 0 + + - name: Evaluate CQL Query 4 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q4 0 - name: Evaluate CQL Query 4 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q4.cql 0 + run: .github/scripts/evaluate-measure-subject-list.sh q4 0 - name: Evaluate CQL Query 7 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q7.cql 81 + run: .github/scripts/evaluate-measure.sh q7 81 + + - name: Evaluate CQL Query 7 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q7 81 - name: Evaluate CQL Query 7 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q7.cql 81 + run: .github/scripts/evaluate-measure-subject-list.sh q7 81 - name: Evaluate CQL Query 14 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q14.cql 96 + run: .github/scripts/evaluate-measure.sh q14 96 + + - name: Evaluate CQL Query 14 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q14 96 - name: Evaluate CQL Query 14 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q14.cql 96 + run: .github/scripts/evaluate-measure-subject-list.sh q14 96 + + - name: Evaluate CQL Query 15 + run: .github/scripts/evaluate-measure.sh q15 30 + + - name: Evaluate CQL Query 15 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q15 30 + + - name: Evaluate CQL Query 15 - Subject List + run: .github/scripts/evaluate-measure-subject-list.sh q15 30 - name: Evaluate CQL Query 17 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q17.cql 120 + run: .github/scripts/evaluate-measure.sh q17 120 + + - name: Evaluate CQL Query 17 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q17 120 - name: Evaluate CQL Query 17 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q17.cql 120 + run: .github/scripts/evaluate-measure-subject-list.sh q17 120 + + - name: Evaluate CQL Query 19 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q19-stratifier-ageclass 120 + + - name: Evaluate CQL Query 20 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q20-stratifier-city 120 + + - name: Evaluate CQL Query 21 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q21-stratifier-city-of-only-women 64 + + - name: Evaluate CQL Query 26 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q26-stratifier-bmi 120 + + - name: Evaluate CQL Query 27 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q27-stratifier-calculated-bmi 120 + + - name: Evaluate CQL Query 32 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q32-stratifier-underweight 120 - name: Evaluate CQL Query 36 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q36-parameter.cql 86 + run: .github/scripts/evaluate-measure.sh q36-parameter 86 - name: Evaluate CQL Query 36 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q36-parameter.cql 86 + run: .github/scripts/evaluate-measure-subject-list.sh q36-parameter 86 - name: Evaluate CQL Query 34 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q37-overlaps.cql 24 + run: .github/scripts/evaluate-measure.sh q37-overlaps 24 + + - name: Evaluate CQL Query 34 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q37-overlaps 24 - name: Evaluate CQL Query 34 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q37-overlaps.cql 24 + run: .github/scripts/evaluate-measure-subject-list.sh q37-overlaps 24 - name: Evaluate CQL Query 46 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure//q46-between-date.cql 19 + run: .github/scripts/evaluate-measure.sh q46-between-date 19 + + - name: Evaluate CQL Query 46 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q46-between-date 19 - name: Forwarded Header HTTPS run: .github/scripts/forwarded-header.sh https @@ -492,9 +524,12 @@ jobs: - name: Not Acceptable run: .github/scripts/not-acceptable.sh + - name: Conditional Update If-None-Match + run: .github/scripts/conditional-update-if-none-match.sh + not-enforcing-referential-integrity-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -539,7 +574,7 @@ jobs: # caused Jetty to close the stream. small-transactions-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -580,7 +615,7 @@ jobs: include-without-referential-integrity-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -604,11 +639,37 @@ jobs: - name: Test Include run: .github/scripts/include-without-referential-integrity.sh + chaining-without-referential-integrity-test: + needs: build + runs-on: ubuntu-22.04 + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Download Blaze Image + uses: actions/download-artifact@v3 + with: + name: blaze-image + path: /tmp + + - name: Load Blaze Image + run: docker load --input /tmp/blaze.tar + + - name: Run Blaze + run: docker run --rm -d -e JAVA_TOOL_OPTIONS=-Xmx1g -e ENFORCE_REFERENTIAL_INTEGRITY=false -p 8080:8080 blaze:latest + + - name: Wait for Blaze + run: .github/scripts/wait-for-url.sh http://localhost:8080/health + + - name: Test Chaining + run: .github/scripts/chaining-without-referential-integrity.sh + # Test that a transaction can create a transaction bundle with references that will be taken "as-is" and not tried to # resolve to existing resources bundle-with-references-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -637,7 +698,7 @@ jobs: jepsen-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -649,7 +710,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -692,7 +753,7 @@ jobs: openid-auth-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -727,7 +788,7 @@ jobs: distributed-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check out Git repository @@ -809,7 +870,7 @@ jobs: run: .github/scripts/download-resources-query.sh Observation "code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9" 2399 - name: Download Observation Resources with all LOINC Codes - run: .github/scripts/download-resources-query.sh Observation "code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9,http://loinc.org|1920-8,http://loinc.org|1960-4,http://loinc.org|1975-2,http://loinc.org|1988-5,http://loinc.org|19926-5,http://loinc.org|19994-3,http://loinc.org|2019-8,http://loinc.org|2028-9,http://loinc.org|20454-5,http://loinc.org|20505-4,http://loinc.org|20565-8,http://loinc.org|20570-8,http://loinc.org|2069-3,http://loinc.org|2075-0,http://loinc.org|2085-9,http://loinc.org|2093-3,http://loinc.org|21000-5,http://loinc.org|2157-6,http://loinc.org|2160-0,http://loinc.org|21905-5,http://loinc.org|21906-3,http://loinc.org|21907-1,http://loinc.org|21908-9,http://loinc.org|2276-4,http://loinc.org|2339-0,http://loinc.org|2345-7,http://loinc.org|2498-4,http://loinc.org|2500-7,http://loinc.org|2502-3,http://loinc.org|2514-8,http://loinc.org|2532-0,http://loinc.org|25428-4,http://loinc.org|2571-8,http://loinc.org|26881-3,http://loinc.org|2703-7,http://loinc.org|2708-6,http://loinc.org|2713-6,http://loinc.org|2744-1,http://loinc.org|2823-3,http://loinc.org|28245-9,http://loinc.org|2857-1,http://loinc.org|2885-2,http://loinc.org|29463-7,http://loinc.org|2947-0,http://loinc.org|2951-2,http://loinc.org|3094-0,http://loinc.org|32167-9,http://loinc.org|32207-3,http://loinc.org|32465-7,http://loinc.org|32623-1,http://loinc.org|33728-7,http://loinc.org|33756-8,http://loinc.org|33762-6,http://loinc.org|33914-3,http://loinc.org|33959-8,http://loinc.org|38208-5,http://loinc.org|38265-5,http://loinc.org|38483-4,http://loinc.org|39156-5,http://loinc.org|44667-4,http://loinc.org|44963-7,http://loinc.org|4544-3,http://loinc.org|4548-4,http://loinc.org|46240-8,http://loinc.org|46288-7,http://loinc.org|48065-7,http://loinc.org|49765-1,http://loinc.org|55277-8,http://loinc.org|5767-9,http://loinc.org|5770-3,http://loinc.org|5778-6,http://loinc.org|57905-2,http://loinc.org|5792-7,http://loinc.org|5794-3,http://loinc.org|5797-6,http://loinc.org|5799-2,http://loinc.org|5802-4,http://loinc.org|5803-2,http://loinc.org|5804-0,http://loinc.org|5811-5,http://loinc.org|5902-2,http://loinc.org|59032-3,http://loinc.org|5905-5,http://loinc.org|59408-5,http://loinc.org|59557-9,http://loinc.org|59576-9,http://loinc.org|6075-6,http://loinc.org|6082-2,http://loinc.org|6085-5,http://loinc.org|6095-4,http://loinc.org|6106-9,http://loinc.org|6158-0,http://loinc.org|6189-5,http://loinc.org|6206-7,http://loinc.org|6246-3,http://loinc.org|6248-9,http://loinc.org|6273-7,http://loinc.org|6276-0,http://loinc.org|6298-4,http://loinc.org|6299-2,http://loinc.org|6301-6,http://loinc.org|63513-6,http://loinc.org|65750-2,http://loinc.org|66519-0,http://loinc.org|66524-0,http://loinc.org|66529-9,http://loinc.org|66534-9,http://loinc.org|6690-2,http://loinc.org|6768-6,http://loinc.org|6833-8,http://loinc.org|6844-5,http://loinc.org|69453-9,http://loinc.org|704-7,http://loinc.org|706-2,http://loinc.org|711-2,http://loinc.org|713-8,http://loinc.org|718-7,http://loinc.org|71802-3,http://loinc.org|72106-8,http://loinc.org|72166-2,http://loinc.org|72514-3,http://loinc.org|7258-7,http://loinc.org|731-0,http://loinc.org|736-9,http://loinc.org|742-7,http://loinc.org|751-8,http://loinc.org|75325-1,http://loinc.org|76690-7,http://loinc.org|770-8,http://loinc.org|77606-2,http://loinc.org|777-3,http://loinc.org|785-6,http://loinc.org|786-4,http://loinc.org|787-2,http://loinc.org|788-0,http://loinc.org|789-8,http://loinc.org|80382-5,http://loinc.org|80383-3,http://loinc.org|8302-2,http://loinc.org|8310-5,http://loinc.org|8331-1,http://loinc.org|8478-0,http://loinc.org|85318-4,http://loinc.org|85319-2,http://loinc.org|85337-4,http://loinc.org|85339-0,http://loinc.org|85352-3,http://loinc.org|85354-9,http://loinc.org|88020-3,http://loinc.org|88021-1,http://loinc.org|88040-1,http://loinc.org|88262-1,http://loinc.org|8867-4,http://loinc.org|89579-7,http://loinc.org|91148-7,http://loinc.org|92130-4,http://loinc.org|92131-2,http://loinc.org|92134-6,http://loinc.org|92138-7,http://loinc.org|92139-5,http://loinc.org|92140-3,http://loinc.org|92141-1,http://loinc.org|92142-9,http://loinc.org|9279-1,http://loinc.org|94040-3,http://loinc.org|94531-1,http://loinc.org|9843-4,http://loinc.org|99999-0" 42929 + run: .github/scripts/download-resources-query.sh Observation "_count=500&code=http://loinc.org|10230-1,http://loinc.org|10480-2,http://loinc.org|10834-0,http://loinc.org|14804-9,http://loinc.org|14959-1,http://loinc.org|1742-6,http://loinc.org|1751-7,http://loinc.org|17861-6,http://loinc.org|18262-6,http://loinc.org|19123-9,http://loinc.org|1920-8,http://loinc.org|1960-4,http://loinc.org|1975-2,http://loinc.org|1988-5,http://loinc.org|19926-5,http://loinc.org|19994-3,http://loinc.org|2019-8,http://loinc.org|2028-9,http://loinc.org|20454-5,http://loinc.org|20505-4,http://loinc.org|20565-8,http://loinc.org|20570-8,http://loinc.org|2069-3,http://loinc.org|2075-0,http://loinc.org|2085-9,http://loinc.org|2093-3,http://loinc.org|21000-5,http://loinc.org|2157-6,http://loinc.org|2160-0,http://loinc.org|21905-5,http://loinc.org|21906-3,http://loinc.org|21907-1,http://loinc.org|21908-9,http://loinc.org|2276-4,http://loinc.org|2339-0,http://loinc.org|2345-7,http://loinc.org|2498-4,http://loinc.org|2500-7,http://loinc.org|2502-3,http://loinc.org|2514-8,http://loinc.org|2532-0,http://loinc.org|25428-4,http://loinc.org|2571-8,http://loinc.org|26881-3,http://loinc.org|2703-7,http://loinc.org|2708-6,http://loinc.org|2713-6,http://loinc.org|2744-1,http://loinc.org|2823-3,http://loinc.org|28245-9,http://loinc.org|2857-1,http://loinc.org|2885-2,http://loinc.org|29463-7,http://loinc.org|2947-0,http://loinc.org|2951-2,http://loinc.org|3094-0,http://loinc.org|32167-9,http://loinc.org|32207-3,http://loinc.org|32465-7,http://loinc.org|32623-1,http://loinc.org|33728-7,http://loinc.org|33756-8,http://loinc.org|33762-6,http://loinc.org|33914-3,http://loinc.org|33959-8,http://loinc.org|38208-5,http://loinc.org|38265-5,http://loinc.org|38483-4,http://loinc.org|39156-5,http://loinc.org|44667-4,http://loinc.org|44963-7,http://loinc.org|4544-3,http://loinc.org|4548-4,http://loinc.org|46240-8,http://loinc.org|46288-7,http://loinc.org|48065-7,http://loinc.org|49765-1,http://loinc.org|55277-8,http://loinc.org|5767-9,http://loinc.org|5770-3,http://loinc.org|5778-6,http://loinc.org|57905-2,http://loinc.org|5792-7,http://loinc.org|5794-3,http://loinc.org|5797-6,http://loinc.org|5799-2,http://loinc.org|5802-4,http://loinc.org|5803-2,http://loinc.org|5804-0,http://loinc.org|5811-5,http://loinc.org|5902-2,http://loinc.org|59032-3,http://loinc.org|5905-5,http://loinc.org|59408-5,http://loinc.org|59557-9,http://loinc.org|59576-9,http://loinc.org|6075-6,http://loinc.org|6082-2,http://loinc.org|6085-5,http://loinc.org|6095-4,http://loinc.org|6106-9,http://loinc.org|6158-0,http://loinc.org|6189-5,http://loinc.org|6206-7,http://loinc.org|6246-3,http://loinc.org|6248-9,http://loinc.org|6273-7,http://loinc.org|6276-0,http://loinc.org|6298-4,http://loinc.org|6299-2,http://loinc.org|6301-6,http://loinc.org|63513-6,http://loinc.org|65750-2,http://loinc.org|66519-0,http://loinc.org|66524-0,http://loinc.org|66529-9,http://loinc.org|66534-9,http://loinc.org|6690-2,http://loinc.org|6768-6,http://loinc.org|6833-8,http://loinc.org|6844-5,http://loinc.org|69453-9,http://loinc.org|704-7,http://loinc.org|706-2,http://loinc.org|711-2,http://loinc.org|713-8,http://loinc.org|718-7,http://loinc.org|71802-3,http://loinc.org|72106-8,http://loinc.org|72166-2,http://loinc.org|72514-3,http://loinc.org|7258-7,http://loinc.org|731-0,http://loinc.org|736-9,http://loinc.org|742-7,http://loinc.org|751-8,http://loinc.org|75325-1,http://loinc.org|76690-7,http://loinc.org|770-8,http://loinc.org|77606-2,http://loinc.org|777-3,http://loinc.org|785-6,http://loinc.org|786-4,http://loinc.org|787-2,http://loinc.org|788-0,http://loinc.org|789-8,http://loinc.org|80382-5,http://loinc.org|80383-3,http://loinc.org|8302-2,http://loinc.org|8310-5,http://loinc.org|8331-1,http://loinc.org|8478-0,http://loinc.org|85318-4,http://loinc.org|85319-2,http://loinc.org|85337-4,http://loinc.org|85339-0,http://loinc.org|85352-3,http://loinc.org|85354-9,http://loinc.org|88020-3,http://loinc.org|88021-1,http://loinc.org|88040-1,http://loinc.org|88262-1,http://loinc.org|8867-4,http://loinc.org|89579-7,http://loinc.org|91148-7,http://loinc.org|92130-4,http://loinc.org|92131-2,http://loinc.org|92134-6,http://loinc.org|92138-7,http://loinc.org|92139-5,http://loinc.org|92140-3,http://loinc.org|92141-1,http://loinc.org|92142-9,http://loinc.org|9279-1,http://loinc.org|94040-3,http://loinc.org|94531-1,http://loinc.org|9843-4,http://loinc.org|99999-0" 42929 - name: Download Observation Resources of male Patients run: .github/scripts/download-resources-query.sh Observation "patient.gender=male" 20466 @@ -821,7 +882,7 @@ jobs: run: .github/scripts/download-resources-query-sort.sh Observation "patient.gender=male" "-_lastUpdated" 20466 - name: Download Observation Resources of female Patients - run: .github/scripts/download-resources-query.sh Observation "patient.gender=female" 22463 + run: .github/scripts/download-resources-query.sh Observation "_count=500&patient.gender=female" 22463 - name: Download Observation Resources of female Patients Sorted Ascending run: .github/scripts/download-resources-query-sort.sh Observation "patient.gender=female" "_lastUpdated" 22463 @@ -872,58 +933,109 @@ jobs: run: .github/scripts/search-compartment.sh - name: Evaluate CQL Query 1 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q1.cql 56 + run: .github/scripts/evaluate-measure.sh q1 56 + + - name: Evaluate CQL Query 1 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q1 56 - name: Evaluate CQL Query 1 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q1.cql 56 + run: .github/scripts/evaluate-measure-subject-list.sh q1 56 - name: Evaluate CQL Query 1 on Individual Patients run: .github/scripts/evaluate-patient-q1-measure.sh - name: Evaluate CQL Query 2 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q2.cql 42 + run: .github/scripts/evaluate-measure.sh q2 42 + + - name: Evaluate CQL Query 2 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q2 42 - name: Evaluate CQL Query 2 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q2.cql 42 + run: .github/scripts/evaluate-measure-subject-list.sh q2 42 - name: Evaluate CQL Query 4 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q4.cql 0 + run: .github/scripts/evaluate-measure.sh q4 0 + + - name: Evaluate CQL Query 4 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q4 0 - name: Evaluate CQL Query 4 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q4.cql 0 + run: .github/scripts/evaluate-measure-subject-list.sh q4 0 - name: Evaluate CQL Query 7 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q7.cql 81 + run: .github/scripts/evaluate-measure.sh q7 81 + + - name: Evaluate CQL Query 7 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q7 81 - name: Evaluate CQL Query 7 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q7.cql 81 + run: .github/scripts/evaluate-measure-subject-list.sh q7 81 - name: Evaluate CQL Query 14 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q14.cql 96 + run: .github/scripts/evaluate-measure.sh q14 96 + + - name: Evaluate CQL Query 14 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q14 96 - name: Evaluate CQL Query 14 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q14.cql 96 + run: .github/scripts/evaluate-measure-subject-list.sh q14 96 + + - name: Evaluate CQL Query 15 + run: .github/scripts/evaluate-measure.sh q15 30 + + - name: Evaluate CQL Query 15 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q15 30 + + - name: Evaluate CQL Query 15 - Subject List + run: .github/scripts/evaluate-measure-subject-list.sh q15 30 - name: Evaluate CQL Query 17 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q17.cql 120 + run: .github/scripts/evaluate-measure.sh q17 120 + + - name: Evaluate CQL Query 17 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q17 120 - name: Evaluate CQL Query 17 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q17.cql 120 + run: .github/scripts/evaluate-measure-subject-list.sh q17 120 + + - name: Evaluate CQL Query 19 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q19-stratifier-ageclass 120 + + - name: Evaluate CQL Query 20 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q20-stratifier-city 120 + + - name: Evaluate CQL Query 21 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q21-stratifier-city-of-only-women 64 + + - name: Evaluate CQL Query 26 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q26-stratifier-bmi 120 + + - name: Evaluate CQL Query 27 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q27-stratifier-calculated-bmi 120 + + - name: Evaluate CQL Query 32 using Blazectl + run: .github/scripts/evaluate-measure-blazectl-stratifier.sh q32-stratifier-underweight 120 - name: Evaluate CQL Query 36 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q36-parameter.cql 86 + run: .github/scripts/evaluate-measure.sh q36-parameter 86 - name: Evaluate CQL Query 36 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q36-parameter.cql 86 + run: .github/scripts/evaluate-measure-subject-list.sh q36-parameter 86 - name: Evaluate CQL Query 34 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q37-overlaps.cql 24 + run: .github/scripts/evaluate-measure.sh q37-overlaps 24 + + - name: Evaluate CQL Query 34 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q37-overlaps 24 - name: Evaluate CQL Query 34 - Subject List - run: .github/scripts/evaluate-measure-subject-list.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q37-overlaps.cql 24 + run: .github/scripts/evaluate-measure-subject-list.sh q37-overlaps 24 - name: Evaluate CQL Query 46 - run: .github/scripts/evaluate-measure.sh modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure//q46-between-date.cql 19 + run: .github/scripts/evaluate-measure.sh q46-between-date 19 + + - name: Evaluate CQL Query 46 using Blazectl + run: .github/scripts/evaluate-measure-blazectl.sh q46-between-date 19 - name: Forwarded Header HTTPS run: .github/scripts/forwarded-header.sh https @@ -970,12 +1082,15 @@ jobs: - name: Not Acceptable run: .github/scripts/not-acceptable.sh + - name: Conditional Update If-None-Match + run: .github/scripts/conditional-update-if-none-match.sh + - name: Docker Stats run: docker stats --no-stream jepsen-distributed-test: needs: build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Setup Java @@ -987,7 +1102,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1189' + cli: '1.11.1.1208' - name: Check out Git repository uses: actions/checkout@v3 @@ -1051,3 +1166,80 @@ jobs: - name: Docker Stats run: docker stats --no-stream + + push-image: + needs: + - test-coverage + - image-scan + - integration-test + - not-enforcing-referential-integrity-test + - small-transactions-test + - include-without-referential-integrity-test + - chaining-without-referential-integrity-test + - bundle-with-references-test + - jepsen-test + - openid-auth-test + - distributed-test + - jepsen-distributed-test + runs-on: ubuntu-22.04 + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Download Blaze Uberjar + uses: actions/download-artifact@v3 + with: + name: blaze-uberjar + path: target/blaze-0.18.5-standalone.jar + + - name: Download Blaze Image + uses: actions/download-artifact@v3 + with: + name: blaze-image + path: /tmp + + - name: Load Blaze Image + run: docker load --input /tmp/blaze.tar + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.CR_PAT }} + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker meta + id: docker-meta + uses: docker/metadata-action@v4 + with: + images: | + samply/blaze + ghcr.io/samply/blaze + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.docker-meta.outputs.tags }} + labels: ${{ steps.docker-meta.outputs.labels }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ebd3717b..5bf46f3d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## v0.18.5 + +### New Features + +* Support HTTP Header If-None-Match in Update Interactions ([#782](https://github.com/samply/blaze/issues/782)) +* Add a Backport of R5 Quantity Stratum Values ([#853](https://github.com/samply/blaze/pull/853)) +* Return CodeableConcepts as is for Strata ([#851](https://github.com/samply/blaze/pull/851)) +* Implement CQL ToRatio ([#840](https://github.com/samply/blaze/pull/840)) +* Implement CQL Concept Data Type ([#839](https://github.com/samply/blaze/pull/839)) + +### Bugfixes + +* Fix Date Search ([#864](https://github.com/samply/blaze/pull/864)) + +### Operation + +* Decrease Size of Docker Image ([#858](https://github.com/samply/blaze/pull/858)) + ## v0.18.4 ### Bugfixes diff --git a/Dockerfile b/Dockerfile index d0c41f0f7..28f098a6e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,11 @@ FROM eclipse-temurin:17-jre RUN apt-get update && apt-get upgrade -y && \ apt-get purge wget libbinutils libctf0 libctf-nobfd0 libncurses6 -y && \ - apt-get autoremove -y && apt-get clean + apt-get autoremove -y && apt-get clean && \ + rm -rf /var/lib/apt/lists/ RUN mkdir -p /app/data && chown 1001:1001 /app/data -COPY target/blaze-standalone.jar /app/ +COPY target/blaze-0.18.5-standalone.jar /app/ WORKDIR /app USER 1001 @@ -15,4 +16,4 @@ ENV INDEX_DB_DIR="/app/data/index" ENV TRANSACTION_DB_DIR="/app/data/transaction" ENV RESOURCE_DB_DIR="/app/data/resource" -CMD ["java", "-jar", "blaze-standalone.jar", "-m", "blaze.core"] +CMD ["java", "-jar", "blaze-0.18.5-standalone.jar"] diff --git a/Makefile b/Makefile index 6a3dfc2af..dd2196dc3 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,10 @@ lint-root: lint: $(MODULES) lint-root -test-root: +prep: + clojure -X:deps prep + +test-root: prep clojure -M:test:kaocha --profile :ci test: $(MODULES) test-root @@ -20,13 +23,16 @@ clean-root: clean: $(MODULES) clean-root -uberjar: - clojure -X:depstar uberjar :jar target/blaze-standalone.jar +uberjar: prep + clojure -T:build uber outdated: clojure -M:outdated deps-tree: - clojure -Stree + clojure -X:deps tree + +deps-list: + clojure -X:deps list -.PHONY: $(MODULES) lint-root lint test-root test test-coverage clean-root clean uberjar outdated deps-tree +.PHONY: $(MODULES) lint-root lint prep test-root test test-coverage clean-root clean uberjar outdated deps-tree deps-list diff --git a/README.md b/README.md index efdee3c2e..5d8c2ee8c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The goal of this project is to provide a FHIR® Store with an internal CQL Evalu Blaze passes all [Touchstone FHIR 4.0.1 Basic Tests][12] and almost all [CQL Tests][3]. Please refer to the [Conformance](docs/conformance.md) section and report any issues you encounter during evaluation. -Latest release: [v0.18.4][5] +Latest release: [v0.18.5][5] ## Quick Start @@ -73,7 +73,7 @@ Unless required by applicable law or agreed to in writing, software distributed [3]: <https://cql.hl7.org/tests.html> [4]: <https://alexanderkiel.gitbook.io/blaze/deployment> -[5]: <https://github.com/samply/blaze/releases/tag/v0.18.4> +[5]: <https://github.com/samply/blaze/releases/tag/v0.18.5> [6]: <https://www.yourkit.com/java/profiler/> [7]: <https://www.yourkit.com/.net/profiler/> [8]: <https://www.yourkit.com/youmonitor/> diff --git a/build.clj b/build.clj new file mode 100644 index 000000000..38df84cc8 --- /dev/null +++ b/build.clj @@ -0,0 +1,41 @@ +(ns build + (:require [clojure.tools.build.api :as b])) + +(def lib 'samply/blaze) +(def version "0.18.5") +(def class-dir "target/classes") +(def basis (b/create-basis {:project "deps.edn"})) +(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version)) + +(defn clean [_] + (b/delete {:path "target"})) + +(defn uber [_] + (clean nil) + (b/copy-dir {:src-dirs ["src" "resources"] + :target-dir class-dir}) + (b/compile-clj {:basis basis + :src-dirs ["src"] + :class-dir class-dir + :compile-opts + {:direct-linking true + :elide-meta [:doc :file :line :added]}}) + (b/uber {:class-dir class-dir + :uber-file uber-file + :basis basis + :main 'blaze.core + :exclude + ["^about.html" + "^META-INF/versions/\\d+/module-info.class" + "^HISTORY-JAVA.md" + "^dse_protocol_v\\d.spec" + "^native_protocol_v\\d.spec" + ".*-musl.so$" + ".*-ppc64le.so$" + ".*-s390x.so$" + ".*-linux32.so$" + ".*.dll$" + ".*.jnilib$"] + :conflict-handlers + {"META-INF/io.netty.versions.properties" :append + :default :warn}})) diff --git a/deps.edn b/deps.edn index 5062185f9..47ad85ccb 100644 --- a/deps.edn +++ b/deps.edn @@ -41,14 +41,14 @@ {:mvn/version "1.3.6"} org.slf4j/slf4j-nop - {:mvn/version "2.0.3"}} + {:mvn/version "2.0.6"}} :aliases - {:depstar - {:replace-deps - {com.github.seancorfield/depstar - {:mvn/version "2.1.303"}} - :ns-default hf.depstar} + {:build + {:deps + {io.github.clojure/tools.build + {:git/tag "v0.8.5" :git/sha "9c738da"}} + :ns-default build} :test {:extra-paths ["dev" "test"] @@ -80,10 +80,10 @@ :outdated {:replace-deps {com.github.liquidz/antq - {:mvn/version "2.1.939"} + {:mvn/version "2.2.970"} org.slf4j/slf4j-nop - {:mvn/version "2.0.3"}} + {:mvn/version "2.0.6"}} :main-opts ["-m" "antq.core" @@ -125,4 +125,7 @@ "-d" "modules/spec" "-d" "modules/terminology-service" "-d" "modules/test-util" - "-d" "modules/thread-pool-executor-collector"]}}} + "-d" "modules/thread-pool-executor-collector" + "--exclude" "com.taoensso/timbre" + "--exclude" "org.eclipse.jetty/jetty-server" + "--exclude" "org.clojure/alpha.spec"]}}} diff --git a/dev/blaze/dev/decompiler.clj b/dev/blaze/dev/decompiler.clj index 896d3a823..254a80ad3 100644 --- a/dev/blaze/dev/decompiler.clj +++ b/dev/blaze/dev/decompiler.clj @@ -1,5 +1,4 @@ -(ns blaze.dev.decompiler - (:require [clojure.test :refer :all])) +(ns blaze.dev.decompiler) (comment diff --git a/docs/conformance/cql.md b/docs/conformance/cql.md index fd104621d..5c655dd70 100644 --- a/docs/conformance/cql.md +++ b/docs/conformance/cql.md @@ -27,11 +27,11 @@ The section numbers refer to the documentation of the [ELM Specification](https: | 3.3. | CodeRef | ! | only inside same library | | | 3.4. | CodeSystemDef | ✓ | | | | 3.5. | CodeSystemRef | ! | only inside same library | | -| 3.6. | Concept | ✗ | | | -| 3.7. | ConceptDef | ✗ | | | -| 3.8. | ConceptRef | ✗ | | | +| 3.6. | Concept | ✓ | | | +| 3.7. | ConceptDef | ✓ | | | +| 3.8. | ConceptRef | ✓ | | | | 3.9. | Quantity | ✓ | | | -| 3.10. | Ratio | ✗ | | | +| 3.10. | Ratio | ✓ | | | | 3.11. | ValueSetDef | ✗ | | | | 3.12. | ValueSetRef | ✗ | | | @@ -336,14 +336,14 @@ The section numbers refer to the documentation of the [ELM Specification](https: | 22.11. | ConvertsToLong | ✓ | | | | 22.12. | ConvertsToInteger | ✓ | | | | 22.13. | ConvertsToQuantity | ✓ | | | -| 22.14. | ConvertsToRatio | ✗ | | | +| 22.14. | ConvertsToRatio | ✓ | | | | 22.15. | ConvertsToString | ✓ | | | | 22.16. | ConvertsToTime | ✓ | | | | 22.17. | Descendents | ✓ | | | | 22.18. | Is | ✓ | | | | 22.19. | ToBoolean | ✓ | | | | 22.20. | ToChars | ✓ | | | -| 22.21. | ToConcept | ✗ | | | +| 22.21. | ToConcept | ✓ | | | | 22.22. | ToDate | ✓ | | | | 22.23. | ToDateTime | ✓ | | | | 22.24. | ToDecimal | ✓ | | | @@ -351,7 +351,7 @@ The section numbers refer to the documentation of the [ELM Specification](https: | 22.26. | ToList | ✓ | | | | 22.27. | ToLong | ✓ | | | | 22.28. | ToQuantity | ✓ | | | -| 22.29. | ToRatio | ✗ | | | +| 22.29. | ToRatio | ✓ | | | | 22.30. | ToString | ✓ | | | | 22.31. | ToTime | ✓ | | | diff --git a/docs/cql-queries.md b/docs/cql-queries.md index b3bacef39..cdfe68408 100644 --- a/docs/cql-queries.md +++ b/docs/cql-queries.md @@ -1,6 +1,11 @@ # CQL Queries ## Command Line +### Using Blazectl + +Blazectl can evaluate CQL queries, if you like to use it, please look into [this section](cql-queries/blazectl.md). + +### Shell Script If you like to use the command line, please look into [this section](cql-queries/command-line.md). diff --git a/docs/cql-queries/blazectl.md b/docs/cql-queries/blazectl.md new file mode 100644 index 000000000..fa10f9f17 --- /dev/null +++ b/docs/cql-queries/blazectl.md @@ -0,0 +1,296 @@ +# Evaluate a CQL Measure using the Command Line and Blazectl + +This section describes how to evaluate a CQL measure using the command line only. + +## Checkout the Project + +This section assumes, that you have checked out the project and open a command line in its directory. + +```sh +git clone https://github.com/samply/blaze.git +cd blaze +``` + +## Install Blazectl + +[Blazectl](https://github.com/samply/blazectl) is a command line utility that can, among other things, evaluate a CQL measure against a Blaze server available via HTTP. You'll find the installation instructions for your platform in its [README](https://github.com/samply/blazectl). + +## Run Blaze + +If you don't already have Blaze running, you can read about how to do it in [Deployment](../deployment/README.md). If you have Docker available just run: + +```sh +docker run -p 8080:8080 -v blaze-data:/app/data samply/blaze:0.18 +``` + +## Import some data + +If you just started Blaze without any data, you can import some using the [blazectl](https://github.com/samply/blazectl) command: + +```sh +blazectl upload --server http://localhost:8080/fhir .github/test-data/synthea +``` + +## Evaluate a Simple Measure Counting all Male Patients + +```sh +blazectl evaluate-measure docs/cql-queries/gender-male.yml --server http://localhost:8080/fhir +``` + +Blazectl will output a [MeasureReport](http://www.hl7.org/fhir/measurereport.html) resource. The important parts are: + +```json +{ + "resourceType": "MeasureReport", + "group": [ + { + "population": [ + { + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + }, + "count": 56 + } + ] + } + ] +} +``` + +You can use [jq](https://stedolan.github.io/jq) to extract the count from the MeasureReport: + +```sh +blazectl evaluate-measure docs/cql-queries/gender-male.yml --server http://localhost:8080/fhir | jq '.group[0].population[0].count' +``` + +Now the output should be: + +```text +Evaluate measure with canonical URL urn:uuid:73a6023d-5a91-4822-9e36-48ebc2a8ed09 on http://localhost:8080/fhir ... + +56 +``` + +### The Measure YAML + +Because evaluating a measure requires one to create a [Measure](http://www.hl7.org/fhir/measure.html) and a [Library](http://www.hl7.org/fhir/library.html) resource on Blaze and execute the [$evaluate-measure](https://www.hl7.org/fhir/operation-measure-evaluate-measure.html) operation, Blazectl takes a simplified Measure resource in YAML format. It looks like this: + +```yaml +library: docs/cql-queries/gender-male.cql +group: +- type: Patient + population: + - expression: InInitialPopulation +``` + +* you reference the CQL library file under the `library` key +* you can specify several groups were you can define populations based on a type. Currently only `Patient` is possible +* under `population` you specify the name of a CQL expression which has to be present in the CQL library file. Here the expression is called `InInitialPopulation`. + +### The CQL Library File + +The CQL library file looks like this: + +```text +library "gender-male" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +context Patient + +define InInitialPopulation: + Patient.gender = 'male' +``` + +You can read more about CQL in the [Author's Guide](https://cql.hl7.org/02-authorsguide.html) and in the [CQL Reference](https://cql.hl7.org/09-b-cqlreference.html). The important bit here is the expression definition: + +```text +define InInitialPopulation: + Patient.gender = 'male' +``` + +In it, the expression `Patient.gender = 'male'` is given the name `InInitialPopulation` that can be used in the Measure YAML. + +## Evaluate a Measure Outputting the Distribution of all Patients Birth Years + +The goal is to write a Measure that will output the distribution of all patients birth years including a conversation into the CSV format for easy consumption of analysis tools. + +First try the command: + +```sh +blazectl evaluate-measure docs/cql-queries/stratifier-birth-year.yml --server http://localhost:8080/fhir | jq -rf docs/cql-queries/stratifier-birth-year.jq +``` + +The (shortened) output should be: + +```text +Evaluate measure with canonical URL urn:uuid:d1826406-431d-4993-ace0-6e5e96ee1b48 on http://localhost:8080/fhir ... + +"year","count" +"1919",3 +"1929",7 +"1939",1 +"1942",1 +"1943",2 +"1944",1 +"1945",2 +"1946",5 +"1947",1 +"1948",1 +``` + +Now lets look at the three parts, the Measure YAML, the CQL library file and the jq file: + +### The Measure YAML + +```yaml +library: docs/cql-queries/stratifier-birth-year.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: birth-year + expression: BirthYear +``` + +The first part of the Measure YAML looks exactly like the one above. The new part is the `stratifier`. Stratifiers group members of populations according to the specified expression. Here the population consists of patients and the expression is called `BirthYear`. So that stratifier will group patients by their birth years. + +### The CQL Library File + +The CQL library file looks like this: + +```text +library "stratifier-birth-year" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +context Patient + +define InInitialPopulation: + true + +define BirthYear: + year from Patient.birthDate +``` + +Here the expression `InInitialPopulation` is defined as `true` in order to include all patients. The expression called `BirthYear` that is used as stratifier will take the birth date from the patient and return the year component of it. + +### The jq File + +The `jq` file doing the CSV conversation looks like this: + +```text +["year", "count"], +(.group[0].stratifier[0].stratum[] | [.value.text, .population[0].count]) +| @csv +``` + +Here `["year", "count"]` represents the CSV header and `(.group[0].stratifier[0].stratum[] | [.value.text, .population[0].count])` extracts the value and the count out of the strata of the MeasureReport. The syntax of `jq` is documented in its [manual](https://stedolan.github.io/jq/manual). + +## Evaluate a Measure Outputting the Distribution of all Condition Codes + +The goal is to write a Measure that will output the distribution of all condition codes including a conversation into the CSV format for easy consumption of analysis tools. + +First try the command: + +```sh +blazectl evaluate-measure docs/cql-queries/stratifier-condition-code.yml --server http://localhost:8080/fhir | jq -rf docs/cql-queries/stratifier-condition-code.jq +``` + +The (shortened) output should be: + +```text +Evaluate measure with canonical URL urn:uuid:4f8176a7-d37a-486f-9f66-5e3849e7013f on http://localhost:8080/fhir ... + +"system","code","display","count" +"http://snomed.info/sct","241929008","Acute allergic reaction",3 +"http://snomed.info/sct","75498004","Acute bacterial sinusitis (disorder)",8 +"http://snomed.info/sct","10509002","Acute bronchitis (disorder)",63 +"http://snomed.info/sct","132281000119108","Acute deep venous thrombosis (disorder)",2 +"http://snomed.info/sct","706870000","Acute pulmonary embolism (disorder)",9 +"http://snomed.info/sct","67782005","Acute respiratory distress syndrome (disorder)",3 +"http://snomed.info/sct","65710008","Acute respiratory failure (disorder)",14 +"http://snomed.info/sct","195662009","Acute viral pharyngitis (disorder)",69 +"http://snomed.info/sct","7200002","Alcoholism",1 +``` + +Now lets look at the three parts, the Measure YAML, the CQL library file and the jq file: + +### The Measure YAML + +```yaml +library: docs/cql-queries/stratifier-condition-code.cql +group: +- type: Condition + population: + - expression: InInitialPopulation + stratifier: + - code: code + expression: Code +``` + +The key difference to the former Measure YAML files is the group type of `Condition`. That type defines all populations of this group to consist of Condition resources instead of Patient resources. This also means that the population expressions defined in this group have to return Condition resources instead of a boolean value. We will see that in a moment. The stratifier looks the same as in former files, but its expression `Code` will not operate on Condition resources and not Patients. + +### The CQL Library File + +The CQL library file looks like this: + +```text +library "stratifier-condition-code" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +context Patient + +define InInitialPopulation: + [Condition] + +define function Code(condition FHIR.Condition): + condition.code +``` + +Here we have our `InInitialPopulation` expression defined as `[Condition]`. The expression `[Condition]` retrieves all Condition resources of the current selected patient. Doing so will return the required type of Condition resources from the population expression, we discussed above. If you like to constrain the patients from which Condition resources are returned, you have to do it in the `InInitialPopulation` expression. + +Next we define a function called `Code` what will extract the code from a Condition resource. Here the expression `condition.code` is a [FHIRPath](http://hl7.org/fhirpath/) expression as CQL is a superset of FHIRPath. + +### The jq File + +The `jq` file doing the CSV conversation looks like this: + +```text +["system", "code", "display", "count"], +(.group[0].stratifier[0].stratum[] + | [.value.coding[0].system, .value.coding[0].code, .value.coding[0].display, .population[0].count]) +| @csv +``` + +Because we return a `CodeableConcept` from our stratifier expression `Code`, the stratum values will contain that `CodeableConcept`s directly. In the `jq` script, we extract the `system`, `code` and `display` parts of the first Coding using the expression `.value.coding[0].system` and others. If the Condition resources use more than one Coding, its easy to add columns with the later Codings. In the Synthea dataset that's not the case. + +## Evaluate a Measure Outputting the Distribution of all Body Weights + +```sh +blazectl evaluate-measure docs/cql-queries/stratifier-body-weight.yml --server http://localhost:8080/fhir | jq -rf docs/cql-queries/stratifier-body-weight.jq +``` + +The (shortened) output should be: + +```text +Evaluate measure with canonical URL urn:uuid:dbb406a8-e72e-47a2-8ce7-c970bb964a9a on http://localhost:8080/fhir ... + +"body-weight-value","body-weight-unit","count" +10.1,"kg",3 +10.2,"kg",3 +10.4,"kg",4 +10.7,"kg",1 +10.9,"kg",2 +100,"kg",11 +100.2,"kg",2 +100.5,"kg",1 +100.7,"kg",9 +``` diff --git a/docs/cql-queries/command-line.md b/docs/cql-queries/command-line.md index 02f1a5de6..2c0de785d 100644 --- a/docs/cql-queries/command-line.md +++ b/docs/cql-queries/command-line.md @@ -1,13 +1,14 @@ -# Evaluate a CQL Query using the Command Line +# Evaluate a CQL Measure using the Command Line -This section describes how to evaluate a CQL query using the command line only. +This section describes how to evaluate a CQL measure using the command line only. ## Checkout the Project -This section assumes, that you have checked out the project and open a command line inside it. +This section assumes, that you have checked out the project and open a command line in its directory. ```sh git clone https://github.com/samply/blaze.git +cd blaze ``` ## Run Blaze diff --git a/docs/cql-queries/gender-male.cql b/docs/cql-queries/gender-male.cql index 146b3a14d..89fffb8d4 100644 --- a/docs/cql-queries/gender-male.cql +++ b/docs/cql-queries/gender-male.cql @@ -1,4 +1,4 @@ -library Retrieve +library "gender-male" using FHIR version '4.0.0' include FHIRHelpers version '4.0.0' diff --git a/docs/cql-queries/gender-male.yml b/docs/cql-queries/gender-male.yml new file mode 100644 index 000000000..ff4bb9e22 --- /dev/null +++ b/docs/cql-queries/gender-male.yml @@ -0,0 +1,5 @@ +library: docs/cql-queries/gender-male.cql +group: +- type: Patient + population: + - expression: InInitialPopulation diff --git a/docs/cql-queries/stratifier-birth-year.cql b/docs/cql-queries/stratifier-birth-year.cql new file mode 100644 index 000000000..3fd7c4d23 --- /dev/null +++ b/docs/cql-queries/stratifier-birth-year.cql @@ -0,0 +1,11 @@ +library "stratifier-birth-year" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +context Patient + +define InInitialPopulation: + true + +define BirthYear: + year from Patient.birthDate diff --git a/docs/cql-queries/stratifier-birth-year.jq b/docs/cql-queries/stratifier-birth-year.jq new file mode 100644 index 000000000..c67daf780 --- /dev/null +++ b/docs/cql-queries/stratifier-birth-year.jq @@ -0,0 +1,3 @@ +["year", "count"], +(.group[0].stratifier[0].stratum[] | [.value.text, .population[0].count]) +| @csv diff --git a/docs/cql-queries/stratifier-birth-year.yml b/docs/cql-queries/stratifier-birth-year.yml new file mode 100644 index 000000000..9d46c5b3d --- /dev/null +++ b/docs/cql-queries/stratifier-birth-year.yml @@ -0,0 +1,8 @@ +library: docs/cql-queries/stratifier-birth-year.cql +group: +- type: Patient + population: + - expression: InInitialPopulation + stratifier: + - code: birth-year + expression: BirthYear diff --git a/docs/cql-queries/stratifier-body-weight.cql b/docs/cql-queries/stratifier-body-weight.cql new file mode 100644 index 000000000..53b8eaa7c --- /dev/null +++ b/docs/cql-queries/stratifier-body-weight.cql @@ -0,0 +1,14 @@ +library "stratifier-body-weight" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +codesystem loinc: 'http://loinc.org' +code "Body Weight": '29463-7' from loinc + +context Patient + +define InInitialPopulation: + [Observation: "Body Weight"] + +define function QuantityValue(observation FHIR.Observation): + observation.value as Quantity diff --git a/docs/cql-queries/stratifier-body-weight.jq b/docs/cql-queries/stratifier-body-weight.jq new file mode 100644 index 000000000..3c6f9622a --- /dev/null +++ b/docs/cql-queries/stratifier-body-weight.jq @@ -0,0 +1,4 @@ +["body-weight-value", "body-weight-unit", "count"], +(.group[0].stratifier[0].stratum[] + | [.extension[0].valueQuantity.value, .extension[0].valueQuantity.code, .population[0].count]) +| @csv diff --git a/docs/cql-queries/stratifier-body-weight.yml b/docs/cql-queries/stratifier-body-weight.yml new file mode 100644 index 000000000..eadcec695 --- /dev/null +++ b/docs/cql-queries/stratifier-body-weight.yml @@ -0,0 +1,8 @@ +library: docs/cql-queries/stratifier-body-weight.cql +group: +- type: Observation + population: + - expression: InInitialPopulation + stratifier: + - code: value + expression: QuantityValue diff --git a/docs/cql-queries/stratifier-condition-code.cql b/docs/cql-queries/stratifier-condition-code.cql new file mode 100644 index 000000000..a743b2997 --- /dev/null +++ b/docs/cql-queries/stratifier-condition-code.cql @@ -0,0 +1,11 @@ +library "stratifier-condition-code" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +context Patient + +define InInitialPopulation: + [Condition] + +define function Code(condition FHIR.Condition): + condition.code diff --git a/docs/cql-queries/stratifier-condition-code.jq b/docs/cql-queries/stratifier-condition-code.jq new file mode 100644 index 000000000..4b4734e14 --- /dev/null +++ b/docs/cql-queries/stratifier-condition-code.jq @@ -0,0 +1,4 @@ +["system", "code", "display", "count"], +(.group[0].stratifier[0].stratum[] + | [.value.coding[0].system, .value.coding[0].code, .value.coding[0].display, .population[0].count]) +| @csv diff --git a/docs/cql-queries/stratifier-condition-code.yml b/docs/cql-queries/stratifier-condition-code.yml new file mode 100644 index 000000000..87b925cf3 --- /dev/null +++ b/docs/cql-queries/stratifier-condition-code.yml @@ -0,0 +1,8 @@ +library: docs/cql-queries/stratifier-condition-code.cql +group: +- type: Condition + population: + - expression: InInitialPopulation + stratifier: + - code: code + expression: Code diff --git a/docs/deployment/docker-deployment.md b/docs/deployment/docker-deployment.md index 12140a159..e921695c5 100644 --- a/docs/deployment/docker-deployment.md +++ b/docs/deployment/docker-deployment.md @@ -27,7 +27,7 @@ Blaze should log something like this: 2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:64] - JVM version: 16.0.2 2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:65] - Maximum available memory: 1738 MiB 2021-06-27T11:02:37.835Z ee086ef908c1 main INFO [blaze.core:66] - Number of available processors: 8 -2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.18.4 in 8.2 seconds +2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.18.5 in 8.2 seconds ``` In order to test connectivity, query the health endpoint: @@ -47,7 +47,7 @@ that should return: ```json { "name": "Blaze", - "version": "0.18.4" + "version": "0.18.5" } ``` diff --git a/docs/deployment/manual-deployment.md b/docs/deployment/manual-deployment.md index 09f9a7dce..67d8fe115 100644 --- a/docs/deployment/manual-deployment.md +++ b/docs/deployment/manual-deployment.md @@ -2,12 +2,12 @@ The installation works under Windows, Linux and macOS. The only dependency is an installed OpenJDK 11 or 17 with 17 recommended. Blaze is tested with [Eclipse Temurin][1]. -Blaze runs on the JVM and comes as single JAR file. Download the most recent version [here](https://github.com/samply/blaze/releases/tag/v0.18.4). Look for `blaze-0.18.4-standalone.jar`. +Blaze runs on the JVM and comes as single JAR file. Download the most recent version [here](https://github.com/samply/blaze/releases/tag/v0.18.5). Look for `blaze-0.18.5-standalone.jar`. After the download, you can start blaze with the following command (Linux, macOS): ```sh -java -jar blaze-0.18.4-standalone.jar -m blaze.core +java -jar blaze-0.18.5-standalone.jar ``` Blaze will run with an in-memory, volatile database for testing and demo purposes. @@ -17,14 +17,14 @@ Blaze can be run with durable storage by setting the environment variables `STOR Under Linux/macOS: ```sh -STORAGE=standalone java -jar blaze-0.18.4-standalone.jar -m blaze.core +STORAGE=standalone java -jar blaze-0.18.5-standalone.jar ``` Under Windows, you need to set the Environment variables in the PowerShell before starting Blaze: ```powershell $Env:STORAGE="standalone" -java -jar blaze-0.18.4-standalone.jar -m blaze.core +java -jar blaze-0.18.5-standalone.jar ``` This will create three directories called `index`, `transaction` and `resource` inside the current working directory, one for each database part used. @@ -42,7 +42,7 @@ The output should look like this: 2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:64] - JVM version: 16.0.2 2021-06-27T11:02:37.834Z ee086ef908c1 main INFO [blaze.core:65] - Maximum available memory: 1738 MiB 2021-06-27T11:02:37.835Z ee086ef908c1 main INFO [blaze.core:66] - Number of available processors: 8 -2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.18.4 in 8.2 seconds +2021-06-27T11:02:37.836Z ee086ef908c1 main INFO [blaze.core:67] - Successfully started Blaze version 0.18.5 in 8.2 seconds ``` In order to test connectivity, query the health endpoint: @@ -62,7 +62,7 @@ that should return: ```json { "name": "Blaze", - "version": "0.18.4" + "version": "0.18.5" } ``` diff --git a/modules/byte-buffer/deps.edn b/modules/byte-buffer/deps.edn index 690f43e04..252c1ce36 100644 --- a/modules/byte-buffer/deps.edn +++ b/modules/byte-buffer/deps.edn @@ -1,6 +1,6 @@ {:deps {com.google.protobuf/protobuf-java - {:mvn/version "3.21.9"}} + {:mvn/version "3.21.12"}} :aliases {:test diff --git a/modules/byte-buffer/src/blaze/byte_buffer.clj b/modules/byte-buffer/src/blaze/byte_buffer.clj index d4d618ff8..b4e6b2348 100644 --- a/modules/byte-buffer/src/blaze/byte_buffer.clj +++ b/modules/byte-buffer/src/blaze/byte_buffer.clj @@ -200,6 +200,9 @@ (defn get-byte! + "The 1-arity variant reads the byte at the current position of `byte-buffer` + and increments the position afterwards. The 2-arity variant uses absolute + `index` access." {:inline (fn ([byte-buffer] diff --git a/modules/byte-string/deps.edn b/modules/byte-string/deps.edn index a29b59f81..d66b1cc74 100644 --- a/modules/byte-string/deps.edn +++ b/modules/byte-string/deps.edn @@ -1,11 +1,11 @@ -{:paths ["src" "resources"] +{:paths ["src"] :deps {com.google.guava/guava {:mvn/version "31.1-jre"} com.google.protobuf/protobuf-java - {:mvn/version "3.21.9"} + {:mvn/version "3.21.12"} com.fasterxml.jackson.core/jackson-databind - {:mvn/version "2.14.0"}}} + {:mvn/version "2.14.1"}}} diff --git a/modules/cassandra/deps.edn b/modules/cassandra/deps.edn index e2a025ab1..9b43478aa 100644 --- a/modules/cassandra/deps.edn +++ b/modules/cassandra/deps.edn @@ -7,11 +7,11 @@ ;; current version of transitive dependency of com.datastax.oss/java-driver-core com.fasterxml.jackson.core/jackson-databind - {:mvn/version "2.14.0"} + {:mvn/version "2.14.1"} ;; current version of transitive dependency of com.datastax.oss/java-driver-core io.netty/netty-handler - {:mvn/version "4.1.84.Final"}} + {:mvn/version "4.1.86.Final"}} :aliases {:test diff --git a/modules/cql/Makefile b/modules/cql/Makefile index d6fbd2a65..14c70c245 100644 --- a/modules/cql/Makefile +++ b/modules/cql/Makefile @@ -1,6 +1,9 @@ lint: clj-kondo --lint src test deps.edn +prep: + clojure -X:deps prep + cql-test: wget http://cql.hl7.org/tests.zip echo "0d48a7441c43b6ee46e71d73decfa0cf4ea81e2ce70951f20e9163c3bebfc49a tests.zip" | sha256sum --check --status @@ -9,13 +12,19 @@ cql-test: # See: https://github.com/HL7/cql/pull/69 sed -i.bak '277d' cql-test/CqlArithmeticFunctionsTest.xml -test: cql-test +test: cql-test prep clojure -M:test:kaocha --profile :ci -test-coverage: cql-test +test-coverage: cql-test prep clojure -M:test:coverage +deps-tree: + clojure -X:deps tree + +deps-list: + clojure -X:deps list + clean: rm -rf .clj-kondo/.cache .cpcache cql-test target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage deps-tree deps-list clean diff --git a/modules/cql/deps.edn b/modules/cql/deps.edn index c3e8001fb..7115326b5 100644 --- a/modules/cql/deps.edn +++ b/modules/cql/deps.edn @@ -1,26 +1,30 @@ -{:paths ["src" "resources"] +{:paths ["src"] :deps {blaze/db {:local/root "../db"} com.fasterxml.jackson.module/jackson-module-jaxb-annotations - {:mvn/version "2.14.0"} + {:mvn/version "2.14.1"} + + com.fasterxml.jackson.dataformat/jackson-dataformat-xml + {:mvn/version "2.14.1"} info.cqframework/cql-to-elm - {:mvn/version "1.5.10" - :exclusions - [com.google.code.javaparser/javaparser - info.cqframework/qdm - junit/junit - xpp3/xpp3 - xpp3/xpp3_xpath - org.slf4j/jcl-over-slf4j - org.slf4j/slf4j-api - org.jvnet.jaxb2_commons/jaxb2-basics-tools]} - - javax.xml.bind/jaxb-api - {:mvn/version "2.4.0-b180830.0359"} + {:mvn/version "2.4.0" + :exclusions [xpp3/xpp3_xpath]} + + info.cqframework/elm-jackson + {:mvn/version "2.4.0"} + + info.cqframework/model-jackson + {:mvn/version "2.4.0"} + + info.cqframework/quick + {:mvn/version "2.4.0"} + + org.apache.commons/commons-text + {:mvn/version "1.10.0"} systems.uom/systems-quantity {:mvn/version "2.1"} diff --git a/modules/cql/resources/blaze/fhir-modelinfo-4.0.0.xml b/modules/cql/resources/blaze/fhir-modelinfo-4.0.0.xml deleted file mode 100644 index a4c9b6fdb..000000000 --- a/modules/cql/resources/blaze/fhir-modelinfo-4.0.0.xml +++ /dev/null @@ -1,11692 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<ns4:modelInfo name="FHIR" version="4.0.0" url="http://hl7.org/fhir" targetQualifier="fhir" patientClassName="FHIR.Patient" patientBirthDatePropertyName="birthDate.value" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns4="urn:hl7-org:elm-modelinfo:r1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="uuid" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Count" retrievable="false" baseType="FHIR.Quantity"/> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Dosage.DoseAndRate" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="dose"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="rate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="actor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Actor"/> - </ns4:element> - <ns4:element name="instance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Instance"/> - </ns4:element> - <ns4:element name="process"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Process"/> - </ns4:element> - <ns4:element name="workflow"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScriptRequestMethodCode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SortDirection" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductInteraction.Interactant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DetectedIssue.Mitigation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Process" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="preConditions" elementType="FHIR.markdown"/> - <ns4:element name="postConditions" elementType="FHIR.markdown"/> - <ns4:element name="step"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Step"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Resource" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="reference" elementType="FHIR.Reference"/> - <ns4:element name="fhirVersion"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.FHIRVersion"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="example"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="groupingId" elementType="FHIR.id"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProductStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Document" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.DocumentMode"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItemDefinition" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="derivedFromUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="instance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="applicability"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ChargeItemDefinition.Applicability"/> - </ns4:element> - <ns4:element name="propertyGroup"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ChargeItemDefinition.PropertyGroup"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.DegreeOfPolymerisation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="degree" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.SubstanceAmount"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIndication.OtherTherapy" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="therapyRelationshipType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="UnitsOfTime" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device.Property" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="valueQuantity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Quantity"/> - </ns4:element> - <ns4:element name="valueCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AddressType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle.Link" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="relation" elementType="FHIR.string"/> - <ns4:element name="url" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImagingStudy.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="use" elementType="FHIR.Use"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="requestor" elementType="FHIR.Reference"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.ClaimProcessingCodes"/> - <ns4:element name="disposition" elementType="FHIR.string"/> - <ns4:element name="preAuthRef" elementType="FHIR.string"/> - <ns4:element name="preAuthPeriod" elementType="FHIR.Period"/> - <ns4:element name="payeeType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Item"/> - </ns4:element> - <ns4:element name="addItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.AddItem"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - <ns4:element name="total"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Total"/> - </ns4:element> - <ns4:element name="payment" elementType="FHIR.ClaimResponse.Payment"/> - <ns4:element name="fundsReserve" elementType="FHIR.CodeableConcept"/> - <ns4:element name="formCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="form" elementType="FHIR.Attachment"/> - <ns4:element name="processNote"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.ProcessNote"/> - </ns4:element> - <ns4:element name="communicationRequest"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Insurance"/> - </ns4:element> - <ns4:element name="error"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Error"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinition" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="kind"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="keyword"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="fhirVersion" elementType="FHIR.FHIRVersion"/> - <ns4:element name="mapping"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureDefinition.Mapping"/> - </ns4:element> - <ns4:element name="kind" elementType="FHIR.StructureDefinitionKind"/> - <ns4:element name="abstract" elementType="FHIR.boolean"/> - <ns4:element name="context"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureDefinition.Context"/> - </ns4:element> - <ns4:element name="contextInvariant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.uri"/> - <ns4:element name="baseDefinition" elementType="FHIR.canonical"/> - <ns4:element name="derivation" elementType="FHIR.TypeDerivationRule"/> - <ns4:element name="snapshot" elementType="FHIR.StructureDefinition.Snapshot"/> - <ns4:element name="differential" elementType="FHIR.StructureDefinition.Differential"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntoleranceCategory" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Filter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="property" elementType="FHIR.code"/> - <ns4:element name="op" elementType="FHIR.FilterOperator"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HealthcareService.NotAvailable" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="during" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PractitionerRole.AvailableTime" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="daysOfWeek"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DaysOfWeek"/> - </ns4:element> - <ns4:element name="allDay" elementType="FHIR.boolean"/> - <ns4:element name="availableStartTime" elementType="FHIR.time"/> - <ns4:element name="availableEndTime" elementType="FHIR.time"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceUseStatement" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.DeviceUseStatementStatus"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="derivedFrom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recordedOn" elementType="FHIR.dateTime"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - <ns4:element name="device" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DiagnosticReport.Media" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="link" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure.Component" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="criteria" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Procedure" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EventStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="performed"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recorder" elementType="FHIR.Reference"/> - <ns4:element name="asserter" elementType="FHIR.Reference"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Procedure.Performer"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="outcome" elementType="FHIR.CodeableConcept"/> - <ns4:element name="report"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="complication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="complicationDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="followUp"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="focalDevice"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Procedure.FocalDevice"/> - </ns4:element> - <ns4:element name="usedReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="usedCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MarketingStatus" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="country" elementType="FHIR.CodeableConcept"/> - <ns4:element name="jurisdiction" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="dateRange" elementType="FHIR.Period"/> - <ns4:element name="restoreDate" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationDefinition.ReferencedFrom" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="source" elementType="FHIR.string"/> - <ns4:element name="sourceId" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VerificationResult.Attestation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="who" elementType="FHIR.Reference"/> - <ns4:element name="onBehalfOf" elementType="FHIR.Reference"/> - <ns4:element name="communicationMethod" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="sourceIdentityCertificate" elementType="FHIR.string"/> - <ns4:element name="proxyIdentityCertificate" elementType="FHIR.string"/> - <ns4:element name="proxySignature" elementType="FHIR.Signature"/> - <ns4:element name="sourceSignature" elementType="FHIR.Signature"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchParameter" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="target"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="derivedFrom" elementType="FHIR.canonical"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="base"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.SearchParamType"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="xpath" elementType="FHIR.string"/> - <ns4:element name="xpathUsage" elementType="FHIR.XPathUsageType"/> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="multipleOr" elementType="FHIR.boolean"/> - <ns4:element name="multipleAnd" elementType="FHIR.boolean"/> - <ns4:element name="comparator"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SearchComparator"/> - </ns4:element> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SearchModifierCode"/> - </ns4:element> - <ns4:element name="chain"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="component"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SearchParameter.Component"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DataRequirement.CodeFilter" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="searchParam" elementType="FHIR.string"/> - <ns4:element name="valueSet" elementType="FHIR.canonical"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="IssueSeverity" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CareTeamStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.SubDetail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Procedure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="procedure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Binding" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="strength" elementType="FHIR.BindingStrength"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="valueSet" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EncounterStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinitionKind" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Limit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value" elementType="FHIR.Quantity"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PublicationStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device.DeviceName" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.DeviceNameType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.MeasureReportStatus"/> - <ns4:element name="type" elementType="FHIR.MeasureReportType"/> - <ns4:element name="measure" elementType="FHIR.canonical"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="reporter" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="improvementNotation" elementType="FHIR.CodeableConcept"/> - <ns4:element name="group"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Group"/> - </ns4:element> - <ns4:element name="evaluatedResource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FHIRVersion" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="representation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PropertyRepresentation"/> - </ns4:element> - <ns4:element name="sliceName" elementType="FHIR.string"/> - <ns4:element name="sliceIsConstraining" elementType="FHIR.boolean"/> - <ns4:element name="label" elementType="FHIR.string"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="slicing" elementType="FHIR.ElementDefinition.Slicing"/> - <ns4:element name="short" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.markdown"/> - <ns4:element name="comment" elementType="FHIR.markdown"/> - <ns4:element name="requirements" elementType="FHIR.markdown"/> - <ns4:element name="alias"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="min" elementType="FHIR.unsignedInt"/> - <ns4:element name="max" elementType="FHIR.string"/> - <ns4:element name="base" elementType="FHIR.ElementDefinition.Base"/> - <ns4:element name="contentReference" elementType="FHIR.uri"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition.Type"/> - </ns4:element> - <ns4:element name="defaultValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="meaningWhenMissing" elementType="FHIR.markdown"/> - <ns4:element name="orderMeaning" elementType="FHIR.string"/> - <ns4:element name="fixed"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="pattern"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="example"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition.Example"/> - </ns4:element> - <ns4:element name="minValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="maxValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="maxLength" elementType="FHIR.integer"/> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.id"/> - </ns4:element> - <ns4:element name="constraint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition.Constraint"/> - </ns4:element> - <ns4:element name="mustSupport" elementType="FHIR.boolean"/> - <ns4:element name="isModifier" elementType="FHIR.boolean"/> - <ns4:element name="isModifierReason" elementType="FHIR.string"/> - <ns4:element name="isSummary" elementType="FHIR.boolean"/> - <ns4:element name="binding" elementType="FHIR.ElementDefinition.Binding"/> - <ns4:element name="mapping"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition.Mapping"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Task.Input" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityResponse.Error" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlanActivityKind" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Composition.Attester" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.CompositionAttestationMode"/> - <ns4:element name="time" elementType="FHIR.dateTime"/> - <ns4:element name="party" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapSourceListMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationOutcome.Issue" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="severity" elementType="FHIR.IssueSeverity"/> - <ns4:element name="code" elementType="FHIR.IssueType"/> - <ns4:element name="details" elementType="FHIR.CodeableConcept"/> - <ns4:element name="diagnostics" elementType="FHIR.string"/> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="expression"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="strandType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireResponseStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.Repeat" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="numberOfUnits" elementType="FHIR.integer"/> - <ns4:element name="averageMolecularFormula" elementType="FHIR.string"/> - <ns4:element name="repeatUnitAmountType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="repeatUnit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.RepeatUnit"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GuidanceResponse" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="module"> - <ns4:element name="requestIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="module"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="status" elementType="FHIR.GuidanceResponseStatus"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="occurrenceDateTime" elementType="FHIR.dateTime"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="evaluationMessage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="outputParameters" elementType="FHIR.Reference"/> - <ns4:element name="result" elementType="FHIR.Reference"/> - <ns4:element name="dataRequirement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchComparator" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Endpoint" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="protocol" elementType="FHIR.Coding"/> - <ns4:element name="address" elementType="FHIR.url"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetric" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unit" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - <ns4:element name="parent" elementType="FHIR.Reference"/> - <ns4:element name="operationalStatus" elementType="FHIR.DeviceMetricOperationalStatus"/> - <ns4:element name="color" elementType="FHIR.DeviceMetricColor"/> - <ns4:element name="category" elementType="FHIR.DeviceMetricCategory"/> - <ns4:element name="measurementPeriod" elementType="FHIR.Timing"/> - <ns4:element name="calibration"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceMetric.Calibration"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItemStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Flag" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FlagStatus"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EnrollmentRequest" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="candidate" elementType="FHIR.Reference"/> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CareTeam" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="category"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.CareTeamStatus"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CareTeam.Participant"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="managingOrganization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.ValidateCode" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="translations" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Action" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestScript.Operation"/> - <ns4:element name="assert" elementType="FHIR.TestScript.Assert"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionParticipantType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphDefinition.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="params" elementType="FHIR.string"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - <ns4:element name="compartment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.GraphDefinition.Compartment"/> - </ns4:element> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.GraphDefinition.Link"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Account.Coverage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="priority" elementType="FHIR.positiveInt"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Invoice.PriceComponent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.InvoicePriceComponentType"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntoleranceType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Discriminator" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.DiscriminatorType"/> - <ns4:element name="path" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductAuthorization" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="country"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="statusDate" elementType="FHIR.dateTime"/> - <ns4:element name="restoreDate" elementType="FHIR.dateTime"/> - <ns4:element name="validityPeriod" elementType="FHIR.Period"/> - <ns4:element name="dataExclusivityPeriod" elementType="FHIR.Period"/> - <ns4:element name="dateOfFirstAuthorization" elementType="FHIR.dateTime"/> - <ns4:element name="internationalBirthDate" elementType="FHIR.dateTime"/> - <ns4:element name="legalBasis" elementType="FHIR.CodeableConcept"/> - <ns4:element name="jurisdictionalAuthorization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductAuthorization.JurisdictionalAuthorization"/> - </ns4:element> - <ns4:element name="holder" elementType="FHIR.Reference"/> - <ns4:element name="regulator" elementType="FHIR.Reference"/> - <ns4:element name="procedure" elementType="FHIR.MedicinalProductAuthorization.Procedure"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Component" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure.Population" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="criteria" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequest.InitialFill" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="duration" elementType="FHIR.Duration"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.CodeSystem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="uri" elementType="FHIR.canonical"/> - <ns4:element name="version"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TerminologyCapabilities.Version"/> - </ns4:element> - <ns4:element name="subsumption" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Immunization.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlanActivityStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InvoiceStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimProcessingCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Related" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="claim" elementType="FHIR.Reference"/> - <ns4:element name="relationship" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reference" elementType="FHIR.Identifier"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestResourceType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ParticipationStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Ingredient" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="isActive" elementType="FHIR.boolean"/> - <ns4:element name="strength" elementType="FHIR.Ratio"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.ProcessNote" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="number" elementType="FHIR.positiveInt"/> - <ns4:element name="type" elementType="FHIR.NoteType"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="language" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device.Version" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="component" elementType="FHIR.Identifier"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinition.Snapshot" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="element"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceNameType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireResponse.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="linkId" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.uri"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="answer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.QuestionnaireResponse.Answer"/> - </ns4:element> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.QuestionnaireResponse.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AssertionOperatorType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DaysOfWeek" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="IssueType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Rest" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.RestfulCapabilityMode"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - <ns4:element name="security" elementType="FHIR.CapabilityStatement.Security"/> - <ns4:element name="resource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Resource"/> - </ns4:element> - <ns4:element name="interaction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Interaction1"/> - </ns4:element> - <ns4:element name="searchParam"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.SearchParam"/> - </ns4:element> - <ns4:element name="operation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Operation"/> - </ns4:element> - <ns4:element name="compartment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageDefinition" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="event"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="base" elementType="FHIR.canonical"/> - <ns4:element name="parent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="event"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="category" elementType="FHIR.MessageSignificanceCategory"/> - <ns4:element name="focus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MessageDefinition.Focus"/> - </ns4:element> - <ns4:element name="responseRequired" elementType="FHIR.messageheaderResponseRequest"/> - <ns4:element name="allowedResponse"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MessageDefinition.AllowedResponse"/> - </ns4:element> - <ns4:element name="graph"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImagingStudy.Instance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="uid" elementType="FHIR.id"/> - <ns4:element name="sopClass" elementType="FHIR.Coding"/> - <ns4:element name="number" elementType="FHIR.unsignedInt"/> - <ns4:element name="title" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="canonical" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapContextType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FamilyHistoryStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - <ns4:element name="subDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.SubDetail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="status" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphDefinition.Compartment" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="use" elementType="FHIR.GraphCompartmentUse"/> - <ns4:element name="code" elementType="FHIR.CompartmentType"/> - <ns4:element name="rule" elementType="FHIR.GraphCompartmentRule"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Input" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.id"/> - <ns4:element name="type" elementType="FHIR.string"/> - <ns4:element name="mode" elementType="FHIR.StructureMapInputMode"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Version" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.string"/> - <ns4:element name="isDefault" elementType="FHIR.boolean"/> - <ns4:element name="compositional" elementType="FHIR.boolean"/> - <ns4:element name="language"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="filter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TerminologyCapabilities.Filter"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Origin" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="index" elementType="FHIR.integer"/> - <ns4:element name="profile" elementType="FHIR.Coding"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExtensionContextType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Coverage.Exception" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AssertionResponseTypes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationOutcome" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="issue.code"> - <ns4:element name="issue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.OperationOutcome.Issue"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.Property" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="valueQuantity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Quantity"/> - </ns4:element> - <ns4:element name="valueCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Signer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.Coding"/> - <ns4:element name="party" elementType="FHIR.Reference"/> - <ns4:element name="signature"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Signature"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.DrugCharacteristic" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestIntent" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Population" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="count" elementType="FHIR.integer"/> - <ns4:element name="subjectResults" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Adjudication" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - <ns4:element name="value" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="string" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct.CountryLanguage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="country" elementType="FHIR.CodeableConcept"/> - <ns4:element name="jurisdiction" elementType="FHIR.CodeableConcept"/> - <ns4:element name="language" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Security" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="cors" elementType="FHIR.boolean"/> - <ns4:element name="service"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EvidenceVariable.Characteristic" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="definition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="usageContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="exclude" elementType="FHIR.boolean"/> - <ns4:element name="participantEffective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="timeFromStart" elementType="FHIR.Duration"/> - <ns4:element name="groupMeasure" elementType="FHIR.GroupMeasure"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionRequiredBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphCompartmentUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PaymentReconciliation.ProcessNote" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.NoteType"/> - <ns4:element name="text" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Total" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Element" retrievable="false" baseType="System.Any"> - <ns4:element name="id" elementType="System.String"/> - <ns4:element name="extension"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Extension"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ExplanationOfBenefitStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="use" elementType="FHIR.Use"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="billablePeriod" elementType="FHIR.Period"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="enterer" elementType="FHIR.Reference"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="fundsReserveRequested" elementType="FHIR.CodeableConcept"/> - <ns4:element name="fundsReserve" elementType="FHIR.CodeableConcept"/> - <ns4:element name="related"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Related"/> - </ns4:element> - <ns4:element name="prescription" elementType="FHIR.Reference"/> - <ns4:element name="originalPrescription" elementType="FHIR.Reference"/> - <ns4:element name="payee" elementType="FHIR.ExplanationOfBenefit.Payee"/> - <ns4:element name="referral" elementType="FHIR.Reference"/> - <ns4:element name="facility" elementType="FHIR.Reference"/> - <ns4:element name="claim" elementType="FHIR.Reference"/> - <ns4:element name="claimResponse" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.ClaimProcessingCodes"/> - <ns4:element name="disposition" elementType="FHIR.string"/> - <ns4:element name="preAuthRef"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="preAuthRefPeriod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Period"/> - </ns4:element> - <ns4:element name="careTeam"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.CareTeam"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.SupportingInfo"/> - </ns4:element> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Diagnosis"/> - </ns4:element> - <ns4:element name="procedure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Procedure"/> - </ns4:element> - <ns4:element name="precedence" elementType="FHIR.positiveInt"/> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Insurance"/> - </ns4:element> - <ns4:element name="accident" elementType="FHIR.ExplanationOfBenefit.Accident"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Item"/> - </ns4:element> - <ns4:element name="addItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.AddItem"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - <ns4:element name="total"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Total"/> - </ns4:element> - <ns4:element name="payment" elementType="FHIR.ExplanationOfBenefit.Payment"/> - <ns4:element name="formCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="form" elementType="FHIR.Attachment"/> - <ns4:element name="processNote"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.ProcessNote"/> - </ns4:element> - <ns4:element name="benefitPeriod" elementType="FHIR.Period"/> - <ns4:element name="benefitBalance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.BenefitBalance"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationDispense.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenDefinition.Additive" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="additive"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Translation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="needsMap" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent.Policy" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="authority" elementType="FHIR.uri"/> - <ns4:element name="uri" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="List.Entry" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="flag" elementType="FHIR.CodeableConcept"/> - <ns4:element name="deleted" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="item" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="orientationType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Patient.Contact" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="relationship"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.HumanName"/> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address" elementType="FHIR.Address"/> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="organization" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Quality" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.qualityType"/> - <ns4:element name="standardSequence" elementType="FHIR.CodeableConcept"/> - <ns4:element name="start" elementType="FHIR.integer"/> - <ns4:element name="end" elementType="FHIR.integer"/> - <ns4:element name="score" elementType="FHIR.Quantity"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="truthTP" elementType="FHIR.decimal"/> - <ns4:element name="queryTP" elementType="FHIR.decimal"/> - <ns4:element name="truthFN" elementType="FHIR.decimal"/> - <ns4:element name="queryFP" elementType="FHIR.decimal"/> - <ns4:element name="gtFP" elementType="FHIR.decimal"/> - <ns4:element name="precision" elementType="FHIR.decimal"/> - <ns4:element name="recall" elementType="FHIR.decimal"/> - <ns4:element name="fScore" elementType="FHIR.decimal"/> - <ns4:element name="roc" elementType="FHIR.MolecularSequence.Roc"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.MedicineClassification" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="classification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlan" retrievable="true" primaryCodePath="category" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="intent" elementType="FHIR.CarePlanIntent"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="contributor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="careTeam"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="addresses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="goal"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="activity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CarePlan.Activity"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceReferenceInformation" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="gene"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceReferenceInformation.Gene"/> - </ns4:element> - <ns4:element name="geneElement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceReferenceInformation.GeneElement"/> - </ns4:element> - <ns4:element name="classification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceReferenceInformation.Classification"/> - </ns4:element> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceReferenceInformation.Target"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Questionnaire" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="name"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="derivedFrom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subjectType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Questionnaire.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Patient" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HumanName"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="birthDate" elementType="FHIR.date"/> - <ns4:element name="deceased"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="address"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Address"/> - </ns4:element> - <ns4:element name="maritalStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="multipleBirth"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="photo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Patient.Contact"/> - </ns4:element> - <ns4:element name="communication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Patient.Communication"/> - </ns4:element> - <ns4:element name="generalPractitioner"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="managingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Patient.Link"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="sourceMaterialClass" elementType="FHIR.CodeableConcept"/> - <ns4:element name="sourceMaterialType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="sourceMaterialState" elementType="FHIR.CodeableConcept"/> - <ns4:element name="organismId" elementType="FHIR.Identifier"/> - <ns4:element name="organismName" elementType="FHIR.string"/> - <ns4:element name="parentSubstanceId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="parentSubstanceName"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="countryOfOrigin"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="geographicalLocation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="developmentStage" elementType="FHIR.CodeableConcept"/> - <ns4:element name="fractionDescription"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSourceMaterial.FractionDescription"/> - </ns4:element> - <ns4:element name="organism" elementType="FHIR.SubstanceSourceMaterial.Organism"/> - <ns4:element name="partDescription"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSourceMaterial.PartDescription"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="List" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ListStatus"/> - <ns4:element name="mode" elementType="FHIR.ListMode"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - <ns4:element name="orderedBy" elementType="FHIR.CodeableConcept"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="entry"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.List.Entry"/> - </ns4:element> - <ns4:element name="emptyReason" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Stratum" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value" elementType="FHIR.CodeableConcept"/> - <ns4:element name="component"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Component"/> - </ns4:element> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Population1"/> - </ns4:element> - <ns4:element name="measureScore" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RelatedPerson" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="relationship"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="relationship"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HumanName"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="birthDate" elementType="FHIR.date"/> - <ns4:element name="address"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Address"/> - </ns4:element> - <ns4:element name="photo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="communication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedPerson.Communication"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AccountStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EpisodeOfCare.Diagnosis" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="condition" elementType="FHIR.Reference"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="rank" elementType="FHIR.positiveInt"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Link" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="description" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.PartDescription" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="part" elementType="FHIR.CodeableConcept"/> - <ns4:element name="partLocation" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Kinetics" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="areaUnderCurve"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Quantity"/> - </ns4:element> - <ns4:element name="lethalDose50"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Quantity"/> - </ns4:element> - <ns4:element name="halfLifePeriod" elementType="FHIR.Duration"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Official" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="authority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FamilyMemberHistory.Condition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="outcome" elementType="FHIR.CodeableConcept"/> - <ns4:element name="contributedToDeath" elementType="FHIR.boolean"/> - <ns4:element name="onset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestGroup" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="groupIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="intent" elementType="FHIR.RequestIntent"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RequestGroup.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.Certainty" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="rating"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="certaintySubcomponent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EffectEvidenceSynthesis.CertaintySubcomponent"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Page1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="anchor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="IdentifierUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductManufactured" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="manufacturedDoseForm" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unitOfPresentation" elementType="FHIR.CodeableConcept"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="ingredient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="physicalCharacteristics" elementType="FHIR.ProdCharacteristic"/> - <ns4:element name="otherCharacteristics"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Context" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="reference" elementType="FHIR.Reference"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="text" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationAdministration.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapTargetListMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExposureState" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Detail1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - <ns4:element name="subDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.SubDetail1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentReference" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="masterIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.DocumentReferenceStatus"/> - <ns4:element name="docStatus" elementType="FHIR.CompositionStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.instant"/> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="authenticator" elementType="FHIR.Reference"/> - <ns4:element name="custodian" elementType="FHIR.Reference"/> - <ns4:element name="relatesTo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DocumentReference.RelatesTo"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="securityLabel"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DocumentReference.Content"/> - </ns4:element> - <ns4:element name="context" elementType="FHIR.DocumentReference.Context"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Address" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="use" elementType="FHIR.AddressUse"/> - <ns4:element name="type" elementType="FHIR.AddressType"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="line"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="city" elementType="FHIR.string"/> - <ns4:element name="district" elementType="FHIR.string"/> - <ns4:element name="state" elementType="FHIR.string"/> - <ns4:element name="postalCode" elementType="FHIR.string"/> - <ns4:element name="country" elementType="FHIR.string"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Composition.RelatesTo" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.DocumentRelationshipType"/> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.Goal" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.CodeableConcept"/> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="start" elementType="FHIR.CodeableConcept"/> - <ns4:element name="addresses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="documentation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Target"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReportParticipantType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BindingStrength" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestPriority" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Money" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="FHIR.decimal"/> - <ns4:element name="currency" elementType="FHIR.code"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityResponse.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="excluded" elementType="FHIR.boolean"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="network" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unit" elementType="FHIR.CodeableConcept"/> - <ns4:element name="term" elementType="FHIR.CodeableConcept"/> - <ns4:element name="benefit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityResponse.Benefit"/> - </ns4:element> - <ns4:element name="authorizationRequired" elementType="FHIR.boolean"/> - <ns4:element name="authorizationSupporting"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="authorizationUrl" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.ReferenceSeq" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="chromosome" elementType="FHIR.CodeableConcept"/> - <ns4:element name="genomeBuild" elementType="FHIR.string"/> - <ns4:element name="orientation" elementType="FHIR.orientationType"/> - <ns4:element name="referenceSeqId" elementType="FHIR.CodeableConcept"/> - <ns4:element name="referenceSeqPointer" elementType="FHIR.Reference"/> - <ns4:element name="referenceSeqString" elementType="FHIR.string"/> - <ns4:element name="strand" elementType="FHIR.strandType"/> - <ns4:element name="windowStart" elementType="FHIR.integer"/> - <ns4:element name="windowEnd" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Population1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="count" elementType="FHIR.integer"/> - <ns4:element name="subjectResults" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Invoice.LineItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="chargeItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="priceComponent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Invoice.PriceComponent"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Practitioner" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="qualification.code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HumanName"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Address"/> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="birthDate" elementType="FHIR.date"/> - <ns4:element name="photo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - <ns4:element name="qualification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Practitioner.Qualification"/> - </ns4:element> - <ns4:element name="communication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Plan" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="coverageArea"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="network"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="generalCost"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.GeneralCost"/> - </ns4:element> - <ns4:element name="specificCost"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.SpecificCost"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AdverseEvent.SuspectEntity" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="instance" elementType="FHIR.Reference"/> - <ns4:element name="causality"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AdverseEvent.Causality"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ParticipantRequired" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Offer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="party"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Party"/> - </ns4:element> - <ns4:element name="topic" elementType="FHIR.Reference"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="decision" elementType="FHIR.CodeableConcept"/> - <ns4:element name="decisionMode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="answer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Answer"/> - </ns4:element> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="linkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="securityLabelNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.unsignedInt"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.ClassHistory" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="class" elementType="FHIR.Coding"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Version" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="versionId" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="XPathUsageType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VisionPrescription" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="dateWritten" elementType="FHIR.dateTime"/> - <ns4:element name="prescriber" elementType="FHIR.Reference"/> - <ns4:element name="lensSpecification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.VisionPrescription.LensSpecification"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchParameter.Component" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="definition" elementType="FHIR.canonical"/> - <ns4:element name="expression" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="id" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="individual" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceAmount" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="amount"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="amountType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amountText" elementType="FHIR.string"/> - <ns4:element name="referenceRange" elementType="FHIR.SubstanceAmount.ReferenceRange"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.Administration" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="schedule" elementType="FHIR.Timing"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="rate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis.PrecisionEstimate" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="level" elementType="FHIR.decimal"/> - <ns4:element name="from" elementType="FHIR.decimal"/> - <ns4:element name="to" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FilterOperator" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NamingSystemType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PaymentNotice" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="response" elementType="FHIR.Reference"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="payment" elementType="FHIR.Reference"/> - <ns4:element name="paymentDate" elementType="FHIR.date"/> - <ns4:element name="payee" elementType="FHIR.Reference"/> - <ns4:element name="recipient" elementType="FHIR.Reference"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - <ns4:element name="paymentStatus" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.AddItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="itemSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="detailSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="subdetailSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="provider"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subSite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Detail1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Range" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="low" elementType="FHIR.Quantity"/> - <ns4:element name="high" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.PatientCharacteristics" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="characteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DomainResource" retrievable="false" baseType="FHIR.Resource"> - <ns4:element name="text" elementType="FHIR.Narrative"/> - <ns4:element name="contained"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ResourceContainer"/> - </ns4:element> - <ns4:element name="extension"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Extension"/> - </ns4:element> - <ns4:element name="modifierExtension"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Extension"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductInteraction" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="interactant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductInteraction.Interactant"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="effect" elementType="FHIR.CodeableConcept"/> - <ns4:element name="incidence" elementType="FHIR.CodeableConcept"/> - <ns4:element name="management" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationDefinition" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="permittedDataType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ObservationDataType"/> - </ns4:element> - <ns4:element name="multipleResultsAllowed" elementType="FHIR.boolean"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="preferredReportName" elementType="FHIR.string"/> - <ns4:element name="quantitativeDetails" elementType="FHIR.ObservationDefinition.QuantitativeDetails"/> - <ns4:element name="qualifiedInterval"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ObservationDefinition.QualifiedInterval"/> - </ns4:element> - <ns4:element name="validCodedValueSet" elementType="FHIR.Reference"/> - <ns4:element name="normalCodedValueSet" elementType="FHIR.Reference"/> - <ns4:element name="abnormalCodedValueSet" elementType="FHIR.Reference"/> - <ns4:element name="criticalCodedValueSet" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Operation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="number" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="initiator" elementType="FHIR.string"/> - <ns4:element name="receiver" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="initiatorActive" elementType="FHIR.boolean"/> - <ns4:element name="receiverActive" elementType="FHIR.boolean"/> - <ns4:element name="request" elementType="FHIR.ExampleScenario.ContainedInstance"/> - <ns4:element name="response" elementType="FHIR.ExampleScenario.ContainedInstance"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Interaction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.TypeRestfulInteraction"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Group" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.id"/> - <ns4:element name="extends" elementType="FHIR.id"/> - <ns4:element name="typeMode" elementType="FHIR.StructureMapGroupTypeMode"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - <ns4:element name="input"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Input"/> - </ns4:element> - <ns4:element name="rule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Rule"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContractResourceStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="shortTitle" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="comment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="library"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="population" elementType="FHIR.Reference"/> - <ns4:element name="exposure" elementType="FHIR.Reference"/> - <ns4:element name="exposureAlternative" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.DependsOn" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="uri" elementType="FHIR.canonical"/> - <ns4:element name="packageId" elementType="FHIR.id"/> - <ns4:element name="version" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.StartingMaterial" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="material" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="isDefining" elementType="FHIR.boolean"/> - <ns4:element name="amount" elementType="FHIR.SubstanceAmount"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Party" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="reference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireResponse" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="questionnaire" elementType="FHIR.canonical"/> - <ns4:element name="status" elementType="FHIR.QuestionnaireResponseStatus"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="authored" elementType="FHIR.dateTime"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.QuestionnaireResponse.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent.Agent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="role"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="who" elementType="FHIR.Reference"/> - <ns4:element name="altId" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="requestor" elementType="FHIR.boolean"/> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="policy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="media" elementType="FHIR.Coding"/> - <ns4:element name="network" elementType="FHIR.AuditEvent.Network"/> - <ns4:element name="purposeOfUse"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem.Property1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImagingStudy" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="modality"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ImagingStudyStatus"/> - <ns4:element name="modality"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="started" elementType="FHIR.dateTime"/> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="referrer" elementType="FHIR.Reference"/> - <ns4:element name="interpreter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="numberOfSeries" elementType="FHIR.unsignedInt"/> - <ns4:element name="numberOfInstances" elementType="FHIR.unsignedInt"/> - <ns4:element name="procedureReference" elementType="FHIR.Reference"/> - <ns4:element name="procedureCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="series"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImagingStudy.Series"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Account" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.AccountStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="servicePeriod" elementType="FHIR.Period"/> - <ns4:element name="coverage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Account.Coverage"/> - </ns4:element> - <ns4:element name="owner" elementType="FHIR.Reference"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="guarantor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Account.Guarantor"/> - </ns4:element> - <ns4:element name="partOf" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Structure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="stereochemistry" elementType="FHIR.CodeableConcept"/> - <ns4:element name="opticalActivity" elementType="FHIR.CodeableConcept"/> - <ns4:element name="molecularFormula" elementType="FHIR.string"/> - <ns4:element name="molecularFormulaByMoiety" elementType="FHIR.string"/> - <ns4:element name="isotope"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Isotope"/> - </ns4:element> - <ns4:element name="molecularWeight" elementType="FHIR.SubstanceSpecification.MolecularWeight"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="representation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Representation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchSubjectStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent.Network" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="address" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.AuditEventAgentNetworkType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent.Actor" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reference" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VerificationResult" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="validationType"> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="targetLocation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="need" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.status"/> - <ns4:element name="statusDate" elementType="FHIR.dateTime"/> - <ns4:element name="validationType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="validationProcess"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="frequency" elementType="FHIR.Timing"/> - <ns4:element name="lastPerformed" elementType="FHIR.dateTime"/> - <ns4:element name="nextScheduled" elementType="FHIR.date"/> - <ns4:element name="failureAction" elementType="FHIR.CodeableConcept"/> - <ns4:element name="primarySource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.VerificationResult.PrimarySource"/> - </ns4:element> - <ns4:element name="attestation" elementType="FHIR.VerificationResult.Attestation"/> - <ns4:element name="validator"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.VerificationResult.Validator"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContactPoint" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="system" elementType="FHIR.ContactPointSystem"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="use" elementType="FHIR.ContactPointUse"/> - <ns4:element name="rank" elementType="FHIR.positiveInt"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationDispense.Substitution" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="wasSubstituted" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="responsibleParty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.BenefitBalance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="excluded" elementType="FHIR.boolean"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="network" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unit" elementType="FHIR.CodeableConcept"/> - <ns4:element name="term" elementType="FHIR.CodeableConcept"/> - <ns4:element name="financial"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Financial"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.Supplement" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productName" elementType="FHIR.string"/> - <ns4:element name="schedule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Timing"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="instruction" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PractitionerRole" retrievable="true" baseType="FHIR.DomainResource" primaryCOdePath="code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="practitioner" elementType="FHIR.Reference"/> - <ns4:element name="organization" elementType="FHIR.Reference"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="healthcareService"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="availableTime"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PractitionerRole.AvailableTime"/> - </ns4:element> - <ns4:element name="notAvailable"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PractitionerRole.NotAvailable"/> - </ns4:element> - <ns4:element name="availabilityExceptions" elementType="FHIR.string"/> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Isotope" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="name" elementType="FHIR.CodeableConcept"/> - <ns4:element name="substitution" elementType="FHIR.CodeableConcept"/> - <ns4:element name="halfLife" elementType="FHIR.Quantity"/> - <ns4:element name="molecularWeight" elementType="FHIR.SubstanceSpecification.MolecularWeight"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProduct.Storage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="temperature" elementType="FHIR.decimal"/> - <ns4:element name="scale" elementType="FHIR.BiologicallyDerivedProductStorageScale"/> - <ns4:element name="duration" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Subject" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="reference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.GeneralCost" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="groupSize" elementType="FHIR.positiveInt"/> - <ns4:element name="cost" elementType="FHIR.Money"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphDefinition.Link" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="sliceName" elementType="FHIR.string"/> - <ns4:element name="min" elementType="FHIR.integer"/> - <ns4:element name="max" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.GraphDefinition.Target"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Immunization" retrievable="true" primaryCodePath="vaccineCode" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ImmunizationStatusCodes"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="vaccineCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recorded" elementType="FHIR.dateTime"/> - <ns4:element name="primarySource" elementType="FHIR.boolean"/> - <ns4:element name="reportOrigin" elementType="FHIR.CodeableConcept"/> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="manufacturer" elementType="FHIR.Reference"/> - <ns4:element name="lotNumber" elementType="FHIR.string"/> - <ns4:element name="expirationDate" elementType="FHIR.date"/> - <ns4:element name="site" elementType="FHIR.CodeableConcept"/> - <ns4:element name="route" elementType="FHIR.CodeableConcept"/> - <ns4:element name="doseQuantity" elementType="FHIR.Quantity"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Immunization.Performer"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="isSubpotent" elementType="FHIR.boolean"/> - <ns4:element name="subpotentReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="education"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Immunization.Education"/> - </ns4:element> - <ns4:element name="programEligibility"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="fundingSource" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reaction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Immunization.Reaction"/> - </ns4:element> - <ns4:element name="protocolApplied"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Immunization.ProtocolApplied"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Specimen.Collection" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="collector" elementType="FHIR.Reference"/> - <ns4:element name="collected"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="duration" elementType="FHIR.Duration"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="fastingStatus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapTransform" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationEvaluation" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="targetDisease"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ImmunizationEvaluationStatusCodes"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="authority" elementType="FHIR.Reference"/> - <ns4:element name="targetDisease" elementType="FHIR.CodeableConcept"/> - <ns4:element name="immunizationEvent" elementType="FHIR.Reference"/> - <ns4:element name="doseStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="doseStatusReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="series" elementType="FHIR.string"/> - <ns4:element name="doseNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="seriesDoses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResponseType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="decimal" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AggregationMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceAmount.ReferenceRange" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="lowLimit" elementType="FHIR.Quantity"/> - <ns4:element name="highLimit" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem.Filter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="operator"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.FilterOperator"/> - </ns4:element> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PaymentReconciliation.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="predecessor" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="submitter" elementType="FHIR.Reference"/> - <ns4:element name="response" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="responsible" elementType="FHIR.Reference"/> - <ns4:element name="payee" elementType="FHIR.Reference"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="sequenceType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Condition.Stage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="summary" elementType="FHIR.CodeableConcept"/> - <ns4:element name="assessment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SystemRestfulInteraction" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Task" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical" elementType="FHIR.canonical"/> - <ns4:element name="instantiatesUri" elementType="FHIR.uri"/> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="groupIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.TaskStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="businessStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intent" elementType="FHIR.TaskIntent"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="focus" elementType="FHIR.Reference"/> - <ns4:element name="for" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="executionPeriod" elementType="FHIR.Period"/> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="lastModified" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="performerType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="owner" elementType="FHIR.Reference"/> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reasonReference" elementType="FHIR.Reference"/> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="relevantHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="restriction" elementType="FHIR.Task.Restriction"/> - <ns4:element name="input"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Task.Input"/> - </ns4:element> - <ns4:element name="output"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Task.Output"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyDelivery" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.SupplyDeliveryStatus"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="suppliedItem" elementType="FHIR.SupplyDelivery.SuppliedItem"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="supplier" elementType="FHIR.Reference"/> - <ns4:element name="destination" elementType="FHIR.Reference"/> - <ns4:element name="receiver"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AdverseEventActuality" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Location.HoursOfOperation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="daysOfWeek"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DaysOfWeek"/> - </ns4:element> - <ns4:element name="allDay" elementType="FHIR.boolean"/> - <ns4:element name="openingTime" elementType="FHIR.time"/> - <ns4:element name="closingTime" elementType="FHIR.time"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Answer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VisionPrescription.Prism" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="amount" elementType="FHIR.decimal"/> - <ns4:element name="base" elementType="FHIR.VisionBase"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubscriptionChannelType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem.Property" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="uri" elementType="FHIR.uri"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.PropertyType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ParameterDefinition" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="name" elementType="FHIR.code"/> - <ns4:element name="use" elementType="FHIR.code"/> - <ns4:element name="min" elementType="FHIR.integer"/> - <ns4:element name="max" elementType="FHIR.string"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Population" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="age"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.CodeableConcept"/> - <ns4:element name="race" elementType="FHIR.CodeableConcept"/> - <ns4:element name="physiologicalCondition" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Payment" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="adjustment" elementType="FHIR.Money"/> - <ns4:element name="adjustmentReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Assert" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="result" elementType="FHIR.TestReportActionResult"/> - <ns4:element name="message" elementType="FHIR.markdown"/> - <ns4:element name="detail" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationDispense" retrievable="true" primaryCodePath="medication" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.code"/> - <ns4:element name="statusReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="supportingInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationDispense.Performer"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="authorizingPrescription"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="daysSupply" elementType="FHIR.Quantity"/> - <ns4:element name="whenPrepared" elementType="FHIR.dateTime"/> - <ns4:element name="whenHandedOver" elementType="FHIR.dateTime"/> - <ns4:element name="destination" elementType="FHIR.Reference"/> - <ns4:element name="receiver"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="dosageInstruction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage"/> - </ns4:element> - <ns4:element name="substitution" elementType="FHIR.MedicationDispense.Substitution"/> - <ns4:element name="detectedIssue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="eventHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityResponse" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="purpose"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EligibilityResponsePurpose"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="requestor" elementType="FHIR.Reference"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.RemittanceOutcome"/> - <ns4:element name="disposition" elementType="FHIR.string"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityResponse.Insurance"/> - </ns4:element> - <ns4:element name="preAuthRef" elementType="FHIR.string"/> - <ns4:element name="form" elementType="FHIR.CodeableConcept"/> - <ns4:element name="error"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityResponse.Error"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Specimen.Processing" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="procedure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="additive"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="time"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Linkage.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.LinkageType"/> - <ns4:element name="resource" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Questionnaire.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="linkId" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.uri"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="prefix" elementType="FHIR.string"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.QuestionnaireItemType"/> - <ns4:element name="enableWhen"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Questionnaire.EnableWhen"/> - </ns4:element> - <ns4:element name="enableBehavior" elementType="FHIR.EnableWhenBehavior"/> - <ns4:element name="required" elementType="FHIR.boolean"/> - <ns4:element name="repeats" elementType="FHIR.boolean"/> - <ns4:element name="readOnly" elementType="FHIR.boolean"/> - <ns4:element name="maxLength" elementType="FHIR.integer"/> - <ns4:element name="answerValueSet" elementType="FHIR.canonical"/> - <ns4:element name="answerOption"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Questionnaire.AnswerOption"/> - </ns4:element> - <ns4:element name="initial"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Questionnaire.Initial"/> - </ns4:element> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Questionnaire.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="equivalence" elementType="FHIR.ConceptMapEquivalence"/> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="dependsOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ConceptMap.DependsOn"/> - </ns4:element> - <ns4:element name="product"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ConceptMap.DependsOn"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AssertionDirectionType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlanIntent" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device.Specialization" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="systemType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="version" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.UdiDeviceIdentifier" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="deviceIdentifier" elementType="FHIR.string"/> - <ns4:element name="issuer" elementType="FHIR.uri"/> - <ns4:element name="jurisdiction" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Substance.Instance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="expiry" elementType="FHIR.dateTime"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Library" retrievable="true" primaryCodePath="topic" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ParameterDefinition"/> - </ns4:element> - <ns4:element name="dataRequirement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement"/> - </ns4:element> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequest.DispenseRequest" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="initialFill" elementType="FHIR.MedicationRequest.InitialFill"/> - <ns4:element name="dispenseInterval" elementType="FHIR.Duration"/> - <ns4:element name="validityPeriod" elementType="FHIR.Period"/> - <ns4:element name="numberOfRepeatsAllowed" elementType="FHIR.unsignedInt"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="expectedSupplyDuration" elementType="FHIR.Duration"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.StatusHistory" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="status" elementType="FHIR.EncounterStatus"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.Diagnosis" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="condition" elementType="FHIR.Reference"/> - <ns4:element name="use" elementType="FHIR.CodeableConcept"/> - <ns4:element name="rank" elementType="FHIR.positiveInt"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntoleranceCriticality" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchStudy.Objective" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct.NamePart" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="part" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.Coding"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequest" retrievable="true" primaryCodePath="medication" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.MedicationRequestStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intent" elementType="FHIR.MedicationRequestIntent"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="reported"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="supportingInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="performerType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="recorder" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="groupIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="courseOfTherapyType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="dosageInstruction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage"/> - </ns4:element> - <ns4:element name="dispenseRequest" elementType="FHIR.MedicationRequest.DispenseRequest"/> - <ns4:element name="substitution" elementType="FHIR.MedicationRequest.Substitution"/> - <ns4:element name="priorPrescription" elementType="FHIR.Reference"/> - <ns4:element name="detectedIssue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="eventHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationRecommendation" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="authority" elementType="FHIR.Reference"/> - <ns4:element name="recommendation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImmunizationRecommendation.Recommendation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PropertyRepresentation" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TriggerType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CompositionStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AppointmentStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageSignificanceCategory" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ListMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchElementType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Meta" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="versionId" elementType="FHIR.id"/> - <ns4:element name="lastUpdated" elementType="FHIR.instant"/> - <ns4:element name="source" elementType="FHIR.uri"/> - <ns4:element name="profile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="security"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="tag"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageHeader.Destination" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="target" elementType="FHIR.Reference"/> - <ns4:element name="endpoint" elementType="FHIR.url"/> - <ns4:element name="receiver" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Grouping" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Concept" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="designation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Designation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EnrollmentResponse" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.RemittanceOutcome"/> - <ns4:element name="disposition" elementType="FHIR.string"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="organization" elementType="FHIR.Reference"/> - <ns4:element name="requestProvider" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EpisodeOfCare.StatusHistory" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="status" elementType="FHIR.EpisodeOfCareStatus"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActivityDefinition.DynamicValue" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Coverage" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="policyHolder" elementType="FHIR.Reference"/> - <ns4:element name="subscriber" elementType="FHIR.Reference"/> - <ns4:element name="subscriberId" elementType="FHIR.string"/> - <ns4:element name="beneficiary" elementType="FHIR.Reference"/> - <ns4:element name="dependent" elementType="FHIR.string"/> - <ns4:element name="relationship" elementType="FHIR.CodeableConcept"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="payor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="class"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coverage.Class"/> - </ns4:element> - <ns4:element name="order" elementType="FHIR.positiveInt"/> - <ns4:element name="network" elementType="FHIR.string"/> - <ns4:element name="costToBeneficiary"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coverage.CostToBeneficiary"/> - </ns4:element> - <ns4:element name="subrogation" elementType="FHIR.boolean"/> - <ns4:element name="contract"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CompartmentDefinition.Resource" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="param"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="documentation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.Material" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="substance" elementType="FHIR.CodeableConcept"/> - <ns4:element name="alternate" elementType="FHIR.boolean"/> - <ns4:element name="allergenicIndicator" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResourceType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Timing.Repeat" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="bounds"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="count" elementType="FHIR.positiveInt"/> - <ns4:element name="countMax" elementType="FHIR.positiveInt"/> - <ns4:element name="duration" elementType="FHIR.decimal"/> - <ns4:element name="durationMax" elementType="FHIR.decimal"/> - <ns4:element name="durationUnit" elementType="FHIR.UnitsOfTime"/> - <ns4:element name="frequency" elementType="FHIR.positiveInt"/> - <ns4:element name="frequencyMax" elementType="FHIR.positiveInt"/> - <ns4:element name="period" elementType="FHIR.decimal"/> - <ns4:element name="periodMax" elementType="FHIR.decimal"/> - <ns4:element name="periodUnit" elementType="FHIR.UnitsOfTime"/> - <ns4:element name="dayOfWeek"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="timeOfDay"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.time"/> - </ns4:element> - <ns4:element name="when"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EventTiming"/> - </ns4:element> - <ns4:element name="offset" elementType="FHIR.unsignedInt"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Medication.Ingredient" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="isActive" elementType="FHIR.boolean"/> - <ns4:element name="strength" elementType="FHIR.Ratio"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Media" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EventStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modality" elementType="FHIR.CodeableConcept"/> - <ns4:element name="view" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="created"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="issued" elementType="FHIR.instant"/> - <ns4:element name="operator" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="deviceName" elementType="FHIR.string"/> - <ns4:element name="device" elementType="FHIR.Reference"/> - <ns4:element name="height" elementType="FHIR.positiveInt"/> - <ns4:element name="width" elementType="FHIR.positiveInt"/> - <ns4:element name="frames" elementType="FHIR.positiveInt"/> - <ns4:element name="duration" elementType="FHIR.decimal"/> - <ns4:element name="content" elementType="FHIR.Attachment"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="boolean" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapGroupTypeMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.ContractResourceStatusCodes"/> - <ns4:element name="legalState" elementType="FHIR.CodeableConcept"/> - <ns4:element name="instantiatesCanonical" elementType="FHIR.Reference"/> - <ns4:element name="instantiatesUri" elementType="FHIR.uri"/> - <ns4:element name="contentDerivative" elementType="FHIR.CodeableConcept"/> - <ns4:element name="issued" elementType="FHIR.dateTime"/> - <ns4:element name="applies" elementType="FHIR.Period"/> - <ns4:element name="expirationType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="authority"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="domain"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="site"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="alias"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="scope" elementType="FHIR.CodeableConcept"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="contentDefinition" elementType="FHIR.Contract.ContentDefinition"/> - <ns4:element name="term"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Term"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="relevantHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="signer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Signer"/> - </ns4:element> - <ns4:element name="friendly"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Friendly"/> - </ns4:element> - <ns4:element name="legal"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Legal"/> - </ns4:element> - <ns4:element name="rule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Rule"/> - </ns4:element> - <ns4:element name="legallyBinding"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.GuideParameterCode"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Regulatory" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="regulatoryAuthority" elementType="FHIR.Reference"/> - <ns4:element name="substitution"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Substitution"/> - </ns4:element> - <ns4:element name="schedule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Schedule"/> - </ns4:element> - <ns4:element name="maxDispense" elementType="FHIR.MedicationKnowledge.MaxDispense"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DiagnosticReport" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.DiagnosticReportStatus"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="effective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="issued" elementType="FHIR.instant"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="resultsInterpreter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="specimen"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="result"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="imagingStudy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="media"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DiagnosticReport.Media"/> - </ns4:element> - <ns4:element name="conclusion" elementType="FHIR.string"/> - <ns4:element name="conclusionCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="presentedForm"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent.Source" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="site" elementType="FHIR.string"/> - <ns4:element name="observer" elementType="FHIR.Reference"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BodyStructure" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="location"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="morphology" elementType="FHIR.CodeableConcept"/> - <ns4:element name="location" elementType="FHIR.CodeableConcept"/> - <ns4:element name="locationQualifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="image"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap.DependsOn" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="property" elementType="FHIR.uri"/> - <ns4:element name="system" elementType="FHIR.canonical"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="display" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CatalogEntry.RelatedEntry" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="relationtype" elementType="FHIR.CatalogEntryRelationType"/> - <ns4:element name="item" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CompartmentDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="code" elementType="FHIR.CompartmentType"/> - <ns4:element name="search" elementType="FHIR.boolean"/> - <ns4:element name="resource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CompartmentDefinition.Resource"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct.Name" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="productName" elementType="FHIR.string"/> - <ns4:element name="namePart"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProduct.NamePart"/> - </ns4:element> - <ns4:element name="countryLanguage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProduct.CountryLanguage"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Packaging" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyRequestStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClinicalImpression.Investigation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EncounterLocationStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.MonomerSet" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="ratioType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="startingMaterial"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.StartingMaterial"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Schedule" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="serviceType"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="serviceCategory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviceType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="actor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="planningHorizon" elementType="FHIR.Period"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RelatedArtifact" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="type" elementType="FHIR.RelatedArtifactType"/> - <ns4:element name="label" elementType="FHIR.string"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="citation" elementType="FHIR.markdown"/> - <ns4:element name="url" elementType="FHIR.url"/> - <ns4:element name="document" elementType="FHIR.Attachment"/> - <ns4:element name="resource" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationAdministration" retrievable="true" primaryCodePath="medication" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiates"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.code"/> - <ns4:element name="statusReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="supportingInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="effective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationAdministration.Performer"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="device"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="dosage" elementType="FHIR.MedicationAdministration.Dosage"/> - <ns4:element name="eventHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Ratio" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="numerator" elementType="FHIR.Quantity"/> - <ns4:element name="denominator" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Contact" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="purpose" elementType="FHIR.CodeableConcept"/> - <ns4:element name="name" elementType="FHIR.HumanName"/> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address" elementType="FHIR.Address"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.SampleSize" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="numberOfStudies" elementType="FHIR.integer"/> - <ns4:element name="numberOfParticipants" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Resource" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - <ns4:element name="supportedProfile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - <ns4:element name="interaction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Interaction"/> - </ns4:element> - <ns4:element name="versioning" elementType="FHIR.ResourceVersionPolicy"/> - <ns4:element name="readHistory" elementType="FHIR.boolean"/> - <ns4:element name="updateCreate" elementType="FHIR.boolean"/> - <ns4:element name="conditionalCreate" elementType="FHIR.boolean"/> - <ns4:element name="conditionalRead" elementType="FHIR.ConditionalReadStatus"/> - <ns4:element name="conditionalUpdate" elementType="FHIR.boolean"/> - <ns4:element name="conditionalDelete" elementType="FHIR.ConditionalDeleteStatus"/> - <ns4:element name="referencePolicy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ReferenceHandlingPolicy"/> - </ns4:element> - <ns4:element name="searchInclude"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="searchRevInclude"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="searchParam"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.SearchParam"/> - </ns4:element> - <ns4:element name="operation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Operation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Task.Restriction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="repetitions" elementType="FHIR.positiveInt"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="recipient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Provenance" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="activity"> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="occurred"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recorded" elementType="FHIR.instant"/> - <ns4:element name="policy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="reason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="activity" elementType="FHIR.CodeableConcept"/> - <ns4:element name="agent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Provenance.Agent"/> - </ns4:element> - <ns4:element name="entity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Provenance.Entity"/> - </ns4:element> - <ns4:element name="signature"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Signature"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductAuthorization.Procedure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="application"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductAuthorization.Procedure"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ProdCharacteristic" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="height" elementType="FHIR.Quantity"/> - <ns4:element name="width" elementType="FHIR.Quantity"/> - <ns4:element name="depth" elementType="FHIR.Quantity"/> - <ns4:element name="weight" elementType="FHIR.Quantity"/> - <ns4:element name="nominalVolume" elementType="FHIR.Quantity"/> - <ns4:element name="externalDiameter" elementType="FHIR.Quantity"/> - <ns4:element name="shape" elementType="FHIR.string"/> - <ns4:element name="color"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="imprint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="image"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Attachment"/> - </ns4:element> - <ns4:element name="scoring" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Medication" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.MedicationStatusCodes"/> - <ns4:element name="manufacturer" elementType="FHIR.Reference"/> - <ns4:element name="form" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Ratio"/> - <ns4:element name="ingredient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Medication.Ingredient"/> - </ns4:element> - <ns4:element name="batch" elementType="FHIR.Medication.Batch"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlan.Activity" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="outcomeCodeableConcept"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="outcomeReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="progress"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="reference" elementType="FHIR.Reference"/> - <ns4:element name="detail" elementType="FHIR.CarePlan.Detail"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Goal.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="measure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="due"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Action" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Subject"/> - </ns4:element> - <ns4:element name="intent" elementType="FHIR.CodeableConcept"/> - <ns4:element name="linkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="contextLinkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="requester"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="requesterLinkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="performerType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="performerRole" elementType="FHIR.CodeableConcept"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="performerLinkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="reason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="reasonLinkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="securityLabelNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.unsignedInt"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis.RiskEstimate" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.decimal"/> - <ns4:element name="unitOfMeasure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="denominatorCount" elementType="FHIR.integer"/> - <ns4:element name="numeratorCount" elementType="FHIR.integer"/> - <ns4:element name="precisionEstimate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RiskEvidenceSynthesis.PrecisionEstimate"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityRequest.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="supportingInfoSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="facility" elementType="FHIR.Reference"/> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityRequest.Diagnosis"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceRequest.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Rule" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.id"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Source"/> - </ns4:element> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Target"/> - </ns4:element> - <ns4:element name="rule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Rule"/> - </ns4:element> - <ns4:element name="dependent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Dependent"/> - </ns4:element> - <ns4:element name="documentation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="structure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Structure"/> - </ns4:element> - <ns4:element name="import"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="group"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Group"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Accident" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.code"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HumanName" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="use" elementType="FHIR.NameUse"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="family" elementType="FHIR.string"/> - <ns4:element name="given"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="prefix"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="suffix"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Questionnaire.EnableWhen" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="question" elementType="FHIR.string"/> - <ns4:element name="operator" elementType="FHIR.QuestionnaireItemOperator"/> - <ns4:element name="answer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Operation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.Coding"/> - <ns4:element name="resource" elementType="FHIR.code"/> - <ns4:element name="label" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="accept" elementType="FHIR.code"/> - <ns4:element name="contentType" elementType="FHIR.code"/> - <ns4:element name="destination" elementType="FHIR.integer"/> - <ns4:element name="encodeRequestUrl" elementType="FHIR.boolean"/> - <ns4:element name="method" elementType="FHIR.TestScriptRequestMethodCode"/> - <ns4:element name="origin" elementType="FHIR.integer"/> - <ns4:element name="params" elementType="FHIR.string"/> - <ns4:element name="requestHeader"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.RequestHeader"/> - </ns4:element> - <ns4:element name="requestId" elementType="FHIR.id"/> - <ns4:element name="responseId" elementType="FHIR.id"/> - <ns4:element name="sourceId" elementType="FHIR.id"/> - <ns4:element name="targetId" elementType="FHIR.id"/> - <ns4:element name="url" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Group" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.GroupType"/> - <ns4:element name="actual" elementType="FHIR.boolean"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="quantity" elementType="FHIR.unsignedInt"/> - <ns4:element name="managingEntity" elementType="FHIR.Reference"/> - <ns4:element name="characteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Group.Characteristic"/> - </ns4:element> - <ns4:element name="member"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Group.Member"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Cost" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source" elementType="FHIR.string"/> - <ns4:element name="cost" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Payee" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="party" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="alias"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="ownedBy" elementType="FHIR.Reference"/> - <ns4:element name="administeredBy" elementType="FHIR.Reference"/> - <ns4:element name="coverageArea"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Contact"/> - </ns4:element> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="network"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="coverage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Coverage"/> - </ns4:element> - <ns4:element name="plan"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Plan"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DetectedIssue" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ObservationStatus"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="severity" elementType="FHIR.DetectedIssueSeverity"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="identified"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="implicated"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="evidence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DetectedIssue.Evidence"/> - </ns4:element> - <ns4:element name="detail" elementType="FHIR.string"/> - <ns4:element name="reference" elementType="FHIR.uri"/> - <ns4:element name="mitigation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DetectedIssue.Mitigation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Location" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.LocationStatus"/> - <ns4:element name="operationalStatus" elementType="FHIR.Coding"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="alias"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="mode" elementType="FHIR.LocationMode"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address" elementType="FHIR.Address"/> - <ns4:element name="physicalType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="position" elementType="FHIR.Location.Position"/> - <ns4:element name="managingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="partOf" elementType="FHIR.Reference"/> - <ns4:element name="hoursOfOperation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Location.HoursOfOperation"/> - </ns4:element> - <ns4:element name="availabilityExceptions" elementType="FHIR.string"/> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.Hybrid" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="maternalOrganismId" elementType="FHIR.string"/> - <ns4:element name="maternalOrganismName" elementType="FHIR.string"/> - <ns4:element name="paternalOrganismId" elementType="FHIR.string"/> - <ns4:element name="paternalOrganismName" elementType="FHIR.string"/> - <ns4:element name="hybridType" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Resource" retrievable="false" baseType="System.Any"> - <ns4:element name="id" elementType="FHIR.id"/> - <ns4:element name="meta" elementType="FHIR.Meta"/> - <ns4:element name="implicitRules" elementType="FHIR.uri"/> - <ns4:element name="language" elementType="FHIR.code"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Benefit1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="cost"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Cost"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.SubDetail1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConditionalDeleteStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure.SupplementalData" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="usage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="criteria" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityResponse.Insurance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="inforce" elementType="FHIR.boolean"/> - <ns4:element name="benefitPeriod" elementType="FHIR.Period"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityResponse.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.EffectEstimate" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="variantState" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.decimal"/> - <ns4:element name="unitOfMeasure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="precisionEstimate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EffectEvidenceSynthesis.PrecisionEstimate"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="url" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="uri" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductContraindication.OtherTherapy" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="therapyRelationshipType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Use" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceReferenceInformation.Gene" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="geneSequenceOrigin" elementType="FHIR.CodeableConcept"/> - <ns4:element name="gene" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequestStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="IdentityAssuranceLevel" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.AddItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="itemSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="detailSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="subDetailSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="provider"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subSite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Detail1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Slicing" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="discriminator"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition.Discriminator"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="ordered" elementType="FHIR.boolean"/> - <ns4:element name="rules" elementType="FHIR.SlicingRules"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetricColor" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Group.Member" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="entity" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="inactive" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyRequest" retrievable="true" primaryCodePath="category" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.SupplyRequestStatus"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SupplyRequest.Parameter"/> - </ns4:element> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="supplier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="deliverFrom" elementType="FHIR.Reference"/> - <ns4:element name="deliverTo" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="time" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Time"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConditionalReadStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PaymentReconciliation" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="paymentIssuer" elementType="FHIR.Reference"/> - <ns4:element name="request" elementType="FHIR.Reference"/> - <ns4:element name="requestor" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.RemittanceOutcome"/> - <ns4:element name="disposition" elementType="FHIR.string"/> - <ns4:element name="paymentDate" elementType="FHIR.date"/> - <ns4:element name="paymentAmount" elementType="FHIR.Money"/> - <ns4:element name="paymentIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PaymentReconciliation.Detail"/> - </ns4:element> - <ns4:element name="formCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="processNote"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PaymentReconciliation.ProcessNote"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchStudy.Arm" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntoleranceSeverity" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPackaged.PackageItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="material"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="alternateMaterial"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="device"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="manufacturedItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="packageItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPackaged.PackageItem"/> - </ns4:element> - <ns4:element name="physicalCharacteristics" elementType="FHIR.ProdCharacteristic"/> - <ns4:element name="otherCharacteristics"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="shelfLifeStorage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ProductShelfLife"/> - </ns4:element> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FinancialResourceStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Action2" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestReport.Operation"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Invoice.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Action1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestReport.Operation"/> - <ns4:element name="assert" elementType="FHIR.TestReport.Assert"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Total" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationKind" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Organization" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="alias"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Address"/> - </ns4:element> - <ns4:element name="partOf" elementType="FHIR.Reference"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Organization.Contact"/> - </ns4:element> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap.Element" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ConceptMap.Target"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.OralDiet" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="schedule"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Timing"/> - </ns4:element> - <ns4:element name="nutrient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.NutritionOrder.Nutrient"/> - </ns4:element> - <ns4:element name="texture"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.NutritionOrder.Texture"/> - </ns4:element> - <ns4:element name="fluidConsistencyType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="instruction" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubscriptionStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GoalLifecycleStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationDataType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentReferenceStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="synthesisType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="studyType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="population" elementType="FHIR.Reference"/> - <ns4:element name="exposure" elementType="FHIR.Reference"/> - <ns4:element name="exposureAlternative" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.Reference"/> - <ns4:element name="sampleSize" elementType="FHIR.EffectEvidenceSynthesis.SampleSize"/> - <ns4:element name="resultsByExposure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EffectEvidenceSynthesis.ResultsByExposure"/> - </ns4:element> - <ns4:element name="effectEstimate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EffectEvidenceSynthesis.EffectEstimate"/> - </ns4:element> - <ns4:element name="certainty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EffectEvidenceSynthesis.Certainty"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.RelatedAction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="actionId" elementType="FHIR.id"/> - <ns4:element name="relationship" elementType="FHIR.ActionRelationshipType"/> - <ns4:element name="offset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="repositoryType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="LocationStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.MonitoringProgram" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="name" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceReferenceInformation.Classification" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="domain" elementType="FHIR.CodeableConcept"/> - <ns4:element name="classification" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subtype"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NoteType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VerificationResult.PrimarySource" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="who" elementType="FHIR.Reference"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="communicationMethod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="validationStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="validationDate" elementType="FHIR.dateTime"/> - <ns4:element name="canPushUpdates" elementType="FHIR.CodeableConcept"/> - <ns4:element name="pushTypeAvailable"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Fixture" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="autocreate" elementType="FHIR.boolean"/> - <ns4:element name="autodelete" elementType="FHIR.boolean"/> - <ns4:element name="resource" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Observation.Component" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="dataAbsentReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="interpretation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="referenceRange"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Observation.ReferenceRange"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Software" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="releaseDate" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItem.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReportStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystemContentMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageHeader.Source" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="software" elementType="FHIR.string"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="contact" elementType="FHIR.ContactPoint"/> - <ns4:element name="endpoint" elementType="FHIR.url"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskAssessment" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn" elementType="FHIR.Reference"/> - <ns4:element name="parent" elementType="FHIR.Reference"/> - <ns4:element name="status" elementType="FHIR.ObservationStatus"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="condition" elementType="FHIR.Reference"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="basis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="prediction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RiskAssessment.Prediction"/> - </ns4:element> - <ns4:element name="mitigation" elementType="FHIR.string"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="use" elementType="FHIR.Use"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="billablePeriod" elementType="FHIR.Period"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="enterer" elementType="FHIR.Reference"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="fundsReserve" elementType="FHIR.CodeableConcept"/> - <ns4:element name="related"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Related"/> - </ns4:element> - <ns4:element name="prescription" elementType="FHIR.Reference"/> - <ns4:element name="originalPrescription" elementType="FHIR.Reference"/> - <ns4:element name="payee" elementType="FHIR.Claim.Payee"/> - <ns4:element name="referral" elementType="FHIR.Reference"/> - <ns4:element name="facility" elementType="FHIR.Reference"/> - <ns4:element name="careTeam"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.CareTeam"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.SupportingInfo"/> - </ns4:element> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Diagnosis"/> - </ns4:element> - <ns4:element name="procedure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Procedure"/> - </ns4:element> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Insurance"/> - </ns4:element> - <ns4:element name="accident" elementType="FHIR.Claim.Accident"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Item"/> - </ns4:element> - <ns4:element name="total" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPackaged" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="legalStatusOfSupply" elementType="FHIR.CodeableConcept"/> - <ns4:element name="marketingStatus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MarketingStatus"/> - </ns4:element> - <ns4:element name="marketingAuthorization" elementType="FHIR.Reference"/> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="batchIdentifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPackaged.BatchIdentifier"/> - </ns4:element> - <ns4:element name="packageItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPackaged.PackageItem"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationDefinition.Binding" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="strength" elementType="FHIR.BindingStrength"/> - <ns4:element name="valueSet" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FHIRDeviceStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="measure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="due" elementType="FHIR.Duration"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContactPointSystem" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Global" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SlotStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PractitionerRole.NotAvailable" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="during" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis.CertaintySubcomponent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="rating"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="kind" elementType="FHIR.CapabilityStatementKind"/> - <ns4:element name="software" elementType="FHIR.TerminologyCapabilities.Software"/> - <ns4:element name="implementation" elementType="FHIR.TerminologyCapabilities.Implementation"/> - <ns4:element name="lockedDate" elementType="FHIR.boolean"/> - <ns4:element name="codeSystem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TerminologyCapabilities.CodeSystem"/> - </ns4:element> - <ns4:element name="expansion" elementType="FHIR.TerminologyCapabilities.Expansion"/> - <ns4:element name="codeSearch" elementType="FHIR.CodeSearchSupport"/> - <ns4:element name="validateCode" elementType="FHIR.TerminologyCapabilities.ValidateCode"/> - <ns4:element name="translation" elementType="FHIR.TerminologyCapabilities.Translation"/> - <ns4:element name="closure" elementType="FHIR.TerminologyCapabilities.Closure"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HealthcareService" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="providedBy" elementType="FHIR.Reference"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="extraDetails" elementType="FHIR.markdown"/> - <ns4:element name="photo" elementType="FHIR.Attachment"/> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="coverageArea"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="serviceProvisionCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="eligibility"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HealthcareService.Eligibility"/> - </ns4:element> - <ns4:element name="program"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="characteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="communication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="referralMethod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="appointmentRequired" elementType="FHIR.boolean"/> - <ns4:element name="availableTime"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HealthcareService.AvailableTime"/> - </ns4:element> - <ns4:element name="notAvailable"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HealthcareService.NotAvailable"/> - </ns4:element> - <ns4:element name="availabilityExceptions" elementType="FHIR.string"/> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Condition" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="clinicalStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="verificationStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="severity" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="bodySite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="onset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="abatement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recordedDate" elementType="FHIR.dateTime"/> - <ns4:element name="recorder" elementType="FHIR.Reference"/> - <ns4:element name="asserter" elementType="FHIR.Reference"/> - <ns4:element name="stage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Condition.Stage"/> - </ns4:element> - <ns4:element name="evidence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Condition.Evidence"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle.Search" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.SearchEntryMode"/> - <ns4:element name="score" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationDefinition.QuantitativeDetails" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="customaryUnit" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unit" elementType="FHIR.CodeableConcept"/> - <ns4:element name="conversionFactor" elementType="FHIR.decimal"/> - <ns4:element name="decimalPrecision" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PropertyType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Type" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.uri"/> - <ns4:element name="profile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="targetProfile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="aggregation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AggregationMode"/> - </ns4:element> - <ns4:element name="versioning" elementType="FHIR.ReferenceVersionRules"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RelatedPerson.Communication" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="language" elementType="FHIR.CodeableConcept"/> - <ns4:element name="preferred" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TypeDerivationRule" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Subscription.Channel" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.SubscriptionChannelType"/> - <ns4:element name="endpoint" elementType="FHIR.url"/> - <ns4:element name="payload" elementType="FHIR.code"/> - <ns4:element name="header"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Goal" retrievable="true" primaryCodePath="category" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="lifecycleStatus" elementType="FHIR.GoalLifecycleStatus"/> - <ns4:element name="achievementStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="start"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Goal.Target"/> - </ns4:element> - <ns4:element name="statusDate" elementType="FHIR.date"/> - <ns4:element name="statusReason" elementType="FHIR.string"/> - <ns4:element name="expressedBy" elementType="FHIR.Reference"/> - <ns4:element name="addresses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="outcomeCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="outcomeReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Representation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="representation" elementType="FHIR.string"/> - <ns4:element name="attachment" elementType="FHIR.Attachment"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Actor" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="actorId" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.ExampleScenarioActorType"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GuidanceResponseStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationDefinition.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.code"/> - <ns4:element name="use" elementType="FHIR.OperationParameterUse"/> - <ns4:element name="min" elementType="FHIR.integer"/> - <ns4:element name="max" elementType="FHIR.string"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="targetProfile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="searchType" elementType="FHIR.SearchParamType"/> - <ns4:element name="binding" elementType="FHIR.OperationDefinition.Binding"/> - <ns4:element name="referencedFrom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.OperationDefinition.ReferencedFrom"/> - </ns4:element> - <ns4:element name="part"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.OperationDefinition.Parameter"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="context" elementType="FHIR.id"/> - <ns4:element name="contextType" elementType="FHIR.StructureMapContextType"/> - <ns4:element name="element" elementType="FHIR.string"/> - <ns4:element name="variable" elementType="FHIR.id"/> - <ns4:element name="listMode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMapTargetListMode"/> - </ns4:element> - <ns4:element name="listRuleId" elementType="FHIR.id"/> - <ns4:element name="transform" elementType="FHIR.StructureMapTransform"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.StructureMap.Parameter"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Filter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="op"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RelatedArtifactType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Insurance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="focal" elementType="FHIR.boolean"/> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="businessArrangement" elementType="FHIR.string"/> - <ns4:element name="claimResponse" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Action" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestReport.Operation"/> - <ns4:element name="assert" elementType="FHIR.TestReport.Assert"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Resource1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="reference" elementType="FHIR.Reference"/> - <ns4:element name="example"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="relativePath" elementType="FHIR.url"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="oid" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchElementDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="shortTitle" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="comment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="library"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.ResearchElementType"/> - <ns4:element name="variableType" elementType="FHIR.VariableType"/> - <ns4:element name="characteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ResearchElementDefinition.Characteristic"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VerificationResult.Validator" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="organization" elementType="FHIR.Reference"/> - <ns4:element name="identityCertificate" elementType="FHIR.string"/> - <ns4:element name="attestationSignature" elementType="FHIR.Signature"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Step" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="process"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Process"/> - </ns4:element> - <ns4:element name="pause" elementType="FHIR.boolean"/> - <ns4:element name="operation" elementType="FHIR.ExampleScenario.Operation"/> - <ns4:element name="alternative"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Alternative"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.Specialization" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="systemType" elementType="FHIR.string"/> - <ns4:element name="version" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentManifest.Related" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="ref" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Composition.Event" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Quantity" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="FHIR.decimal"/> - <ns4:element name="comparator" elementType="FHIR.QuantityComparator"/> - <ns4:element name="unit" elementType="FHIR.string"/> - <ns4:element name="system" elementType="FHIR.uri"/> - <ns4:element name="code" elementType="FHIR.code"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CompartmentType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem.Designation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="language" elementType="FHIR.code"/> - <ns4:element name="use" elementType="FHIR.Coding"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequestIntent" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InvoicePriceComponentType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetricCalibrationState" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GroupType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DataRequirement" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="type" elementType="FHIR.code"/> - <ns4:element name="profile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="mustSupport"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="codeFilter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement.CodeFilter"/> - </ns4:element> - <ns4:element name="dateFilter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement.DateFilter"/> - </ns4:element> - <ns4:element name="limit" elementType="FHIR.positiveInt"/> - <ns4:element name="sort"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement.Sort"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VisionPrescription.LensSpecification" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="product" elementType="FHIR.CodeableConcept"/> - <ns4:element name="eye" elementType="FHIR.VisionEyes"/> - <ns4:element name="sphere" elementType="FHIR.decimal"/> - <ns4:element name="cylinder" elementType="FHIR.decimal"/> - <ns4:element name="axis" elementType="FHIR.integer"/> - <ns4:element name="prism"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.VisionPrescription.Prism"/> - </ns4:element> - <ns4:element name="add" elementType="FHIR.decimal"/> - <ns4:element name="power" elementType="FHIR.decimal"/> - <ns4:element name="backCurve" elementType="FHIR.decimal"/> - <ns4:element name="diameter" elementType="FHIR.decimal"/> - <ns4:element name="duration" elementType="FHIR.Quantity"/> - <ns4:element name="color" elementType="FHIR.string"/> - <ns4:element name="brand" elementType="FHIR.string"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure.Group" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Measure.Population"/> - </ns4:element> - <ns4:element name="stratifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Measure.Stratifier"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="library"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="goal"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Goal"/> - </ns4:element> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Variant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="start" elementType="FHIR.integer"/> - <ns4:element name="end" elementType="FHIR.integer"/> - <ns4:element name="observedAllele" elementType="FHIR.string"/> - <ns4:element name="referenceAllele" elementType="FHIR.string"/> - <ns4:element name="cigar" elementType="FHIR.string"/> - <ns4:element name="variantPointer" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.SupportingInfo" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="reason" elementType="FHIR.Coding"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.RepeatUnit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="orientationOfPolymerisation" elementType="FHIR.CodeableConcept"/> - <ns4:element name="repeatUnit" elementType="FHIR.string"/> - <ns4:element name="amount" elementType="FHIR.SubstanceAmount"/> - <ns4:element name="degreeOfPolymerisation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.DegreeOfPolymerisation"/> - </ns4:element> - <ns4:element name="structuralRepresentation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.StructuralRepresentation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Medication.Batch" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="lotNumber" elementType="FHIR.string"/> - <ns4:element name="expirationDate" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Base" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="min" elementType="FHIR.unsignedInt"/> - <ns4:element name="max" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle" retrievable="false" baseType="FHIR.Resource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.BundleType"/> - <ns4:element name="timestamp" elementType="FHIR.instant"/> - <ns4:element name="total" elementType="FHIR.unsignedInt"/> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Bundle.Link"/> - </ns4:element> - <ns4:element name="entry"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Bundle.Entry"/> - </ns4:element> - <ns4:element name="signature" elementType="FHIR.Signature"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EnableWhenBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.Hospitalization" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="preAdmissionIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="origin" elementType="FHIR.Reference"/> - <ns4:element name="admitSource" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reAdmission" elementType="FHIR.CodeableConcept"/> - <ns4:element name="dietPreference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialCourtesy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialArrangement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="destination" elementType="FHIR.Reference"/> - <ns4:element name="dischargeDisposition" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIngredient.SpecifiedSubstance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="group" elementType="FHIR.CodeableConcept"/> - <ns4:element name="confidentiality" elementType="FHIR.CodeableConcept"/> - <ns4:element name="strength"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductIngredient.Strength"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TaskIntent" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationEvaluationStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NamingSystem.UniqueId" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.NamingSystemIdentifierType"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="preferred" elementType="FHIR.boolean"/> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="date" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Date"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenarioActorType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct.SpecialDesignation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intendedUse" elementType="FHIR.CodeableConcept"/> - <ns4:element name="indication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="species" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CatalogEntry" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="orderable" elementType="FHIR.boolean"/> - <ns4:element name="referencedItem" elementType="FHIR.Reference"/> - <ns4:element name="additionalIdentifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="classification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="validityPeriod" elementType="FHIR.Period"/> - <ns4:element name="validTo" elementType="FHIR.dateTime"/> - <ns4:element name="lastUpdated" elementType="FHIR.dateTime"/> - <ns4:element name="additionalCharacteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="additionalClassification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="relatedEntry"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CatalogEntry.RelatedEntry"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.SpecificCost" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="benefit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Benefit1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationAdministration.Dosage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="site" elementType="FHIR.CodeableConcept"/> - <ns4:element name="route" elementType="FHIR.CodeableConcept"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="dose" elementType="FHIR.Quantity"/> - <ns4:element name="rate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClinicalImpression.Finding" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="itemCodeableConcept" elementType="FHIR.CodeableConcept"/> - <ns4:element name="itemReference" elementType="FHIR.Reference"/> - <ns4:element name="basis" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Monograph" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct.ManufacturingBusinessOperation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operationType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="authorisationReferenceNumber" elementType="FHIR.Identifier"/> - <ns4:element name="effectiveDate" elementType="FHIR.dateTime"/> - <ns4:element name="confidentialityIndicator" elementType="FHIR.CodeableConcept"/> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="regulator" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="origin"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Origin"/> - </ns4:element> - <ns4:element name="destination"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Destination"/> - </ns4:element> - <ns4:element name="metadata" elementType="FHIR.TestScript.Metadata"/> - <ns4:element name="fixture"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Fixture"/> - </ns4:element> - <ns4:element name="profile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="variable"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Variable"/> - </ns4:element> - <ns4:element name="setup" elementType="FHIR.TestScript.Setup"/> - <ns4:element name="test"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Test"/> - </ns4:element> - <ns4:element name="teardown" elementType="FHIR.TestScript.Teardown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProduct.Manipulation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="time"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ProductShelfLife" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="period" elementType="FHIR.Quantity"/> - <ns4:element name="specialPrecautionsForStorage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Attachment" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="contentType" elementType="FHIR.code"/> - <ns4:element name="language" elementType="FHIR.code"/> - <ns4:element name="data" elementType="FHIR.base64Binary"/> - <ns4:element name="url" elementType="FHIR.url"/> - <ns4:element name="size" elementType="FHIR.unsignedInt"/> - <ns4:element name="hash" elementType="FHIR.base64Binary"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="creation" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ProvenanceEntityRole" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestGroup.Condition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="kind" elementType="FHIR.ActionConditionKind"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="language" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.SubDetail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="subDetailSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchElementDefinition.Characteristic" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="definition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="usageContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="exclude" elementType="FHIR.boolean"/> - <ns4:element name="unitOfMeasure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="studyEffectiveDescription" elementType="FHIR.string"/> - <ns4:element name="studyEffective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="studyEffectiveTimeFromStart" elementType="FHIR.Duration"/> - <ns4:element name="studyEffectiveGroupMeasure" elementType="FHIR.GroupMeasure"/> - <ns4:element name="participantEffectiveDescription" elementType="FHIR.string"/> - <ns4:element name="participantEffective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="participantEffectiveTimeFromStart" elementType="FHIR.Duration"/> - <ns4:element name="participantEffectiveGroupMeasure" elementType="FHIR.GroupMeasure"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EventDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="trigger"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TriggerDefinition"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="udiDeviceIdentifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.UdiDeviceIdentifier"/> - </ns4:element> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="deviceName"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.DeviceName"/> - </ns4:element> - <ns4:element name="modelNumber" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="specialization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.Specialization"/> - </ns4:element> - <ns4:element name="version"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="safety"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="shelfLifeStorage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ProductShelfLife"/> - </ns4:element> - <ns4:element name="physicalCharacteristics" elementType="FHIR.ProdCharacteristic"/> - <ns4:element name="languageCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="capability"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.Capability"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.Property"/> - </ns4:element> - <ns4:element name="owner" elementType="FHIR.Reference"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="onlineInformation" elementType="FHIR.uri"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="parentDevice" elementType="FHIR.Reference"/> - <ns4:element name="material"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceDefinition.Material"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RestfulCapabilityMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Dosage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.integer"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="additionalInstruction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="patientInstruction" elementType="FHIR.string"/> - <ns4:element name="timing" elementType="FHIR.Timing"/> - <ns4:element name="asNeeded"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="site" elementType="FHIR.CodeableConcept"/> - <ns4:element name="route" elementType="FHIR.CodeableConcept"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="doseAndRate"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage.DoseAndRate"/> - </ns4:element> - <ns4:element name="maxDosePerPeriod" elementType="FHIR.Ratio"/> - <ns4:element name="maxDosePerAdministration" elementType="FHIR.Quantity"/> - <ns4:element name="maxDosePerLifetime" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure.Stratifier" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="criteria" elementType="FHIR.Expression"/> - <ns4:element name="component"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Measure.Component"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DetectedIssueSeverity" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPharmaceutical.TargetSpecies" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="withdrawalPeriod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPharmaceutical.WithdrawalPeriod"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.SubDetail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Relationship" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="substance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="relationship" elementType="FHIR.CodeableConcept"/> - <ns4:element name="isDefining" elementType="FHIR.boolean"/> - <ns4:element name="amount"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="amountRatioLowLimit" elementType="FHIR.Ratio"/> - <ns4:element name="amountType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Appointment" retrievable="true" primaryCodePath="serviceType" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.AppointmentStatus"/> - <ns4:element name="cancelationReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="serviceCategory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviceType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="appointmentType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.unsignedInt"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="supportingInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="start" elementType="FHIR.instant"/> - <ns4:element name="end" elementType="FHIR.instant"/> - <ns4:element name="minutesDuration" elementType="FHIR.positiveInt"/> - <ns4:element name="slot"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="patientInstruction" elementType="FHIR.string"/> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Appointment.Participant"/> - </ns4:element> - <ns4:element name="requestedPeriod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Period"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Assert" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="label" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="direction" elementType="FHIR.AssertionDirectionType"/> - <ns4:element name="compareToSourceId" elementType="FHIR.string"/> - <ns4:element name="compareToSourceExpression" elementType="FHIR.string"/> - <ns4:element name="compareToSourcePath" elementType="FHIR.string"/> - <ns4:element name="contentType" elementType="FHIR.code"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="headerField" elementType="FHIR.string"/> - <ns4:element name="minimumId" elementType="FHIR.string"/> - <ns4:element name="navigationLinks" elementType="FHIR.boolean"/> - <ns4:element name="operator" elementType="FHIR.AssertionOperatorType"/> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="requestMethod" elementType="FHIR.TestScriptRequestMethodCode"/> - <ns4:element name="requestURL" elementType="FHIR.string"/> - <ns4:element name="resource" elementType="FHIR.code"/> - <ns4:element name="response" elementType="FHIR.AssertionResponseTypes"/> - <ns4:element name="responseCode" elementType="FHIR.string"/> - <ns4:element name="sourceId" elementType="FHIR.id"/> - <ns4:element name="validateProfileId" elementType="FHIR.id"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="warningOnly" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.ValuedItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="entity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="effectiveTime" elementType="FHIR.dateTime"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="points" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="payment" elementType="FHIR.string"/> - <ns4:element name="paymentDate" elementType="FHIR.dateTime"/> - <ns4:element name="responsible" elementType="FHIR.Reference"/> - <ns4:element name="recipient" elementType="FHIR.Reference"/> - <ns4:element name="linkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="securityLabelNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.unsignedInt"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VisionEyes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConsentDataMeaning" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="messageheaderResponseRequest" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="definition" elementType="FHIR.Reference"/> - <ns4:element name="udiCarrier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Device.UdiCarrier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FHIRDeviceStatus"/> - <ns4:element name="statusReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="distinctIdentifier" elementType="FHIR.string"/> - <ns4:element name="manufacturer" elementType="FHIR.string"/> - <ns4:element name="manufactureDate" elementType="FHIR.dateTime"/> - <ns4:element name="expirationDate" elementType="FHIR.dateTime"/> - <ns4:element name="lotNumber" elementType="FHIR.string"/> - <ns4:element name="serialNumber" elementType="FHIR.string"/> - <ns4:element name="deviceName"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Device.DeviceName"/> - </ns4:element> - <ns4:element name="modelNumber" elementType="FHIR.string"/> - <ns4:element name="partNumber" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="specialization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Device.Specialization"/> - </ns4:element> - <ns4:element name="version"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Device.Version"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Device.Property"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="owner" elementType="FHIR.Reference"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="safety"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="parent" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Capability" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="required" elementType="FHIR.boolean"/> - <ns4:element name="validated" elementType="FHIR.boolean"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="origin"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.integer"/> - </ns4:element> - <ns4:element name="destination" elementType="FHIR.integer"/> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="capabilities" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Implementation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="url" elementType="FHIR.url"/> - <ns4:element name="custodian" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPackaged.BatchIdentifier" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="outerPackaging" elementType="FHIR.Identifier"/> - <ns4:element name="immediatePackaging" elementType="FHIR.Identifier"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GuidePageGeneration" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Substance.Ingredient" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="quantity" elementType="FHIR.Ratio"/> - <ns4:element name="substance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinition.Context" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.ExtensionContextType"/> - <ns4:element name="expression" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Procedure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="procedure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Implementation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="url" elementType="FHIR.url"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.SecurityLabel" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="number"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.unsignedInt"/> - </ns4:element> - <ns4:element name="classification" elementType="FHIR.Coding"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="control"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Moiety" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="stereochemistry" elementType="FHIR.CodeableConcept"/> - <ns4:element name="opticalActivity" elementType="FHIR.CodeableConcept"/> - <ns4:element name="molecularFormula" elementType="FHIR.string"/> - <ns4:element name="amount"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Constraint" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="key" elementType="FHIR.id"/> - <ns4:element name="requirements" elementType="FHIR.string"/> - <ns4:element name="severity" elementType="FHIR.ConstraintSeverity"/> - <ns4:element name="human" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="xpath" elementType="FHIR.string"/> - <ns4:element name="source" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentRelationshipType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProduct" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="productCategory" elementType="FHIR.BiologicallyDerivedProductCategory"/> - <ns4:element name="productCode" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.BiologicallyDerivedProductStatus"/> - <ns4:element name="request"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.integer"/> - <ns4:element name="parent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="collection" elementType="FHIR.BiologicallyDerivedProduct.Collection"/> - <ns4:element name="processing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.BiologicallyDerivedProduct.Processing"/> - </ns4:element> - <ns4:element name="manipulation" elementType="FHIR.BiologicallyDerivedProduct.Manipulation"/> - <ns4:element name="storage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.BiologicallyDerivedProduct.Storage"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Destination" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="index" elementType="FHIR.integer"/> - <ns4:element name="profile" elementType="FHIR.Coding"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Expression" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.id"/> - <ns4:element name="language" elementType="FHIR.ExpressionLanguage"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="reference" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Cost" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="applicability" elementType="FHIR.CodeableConcept"/> - <ns4:element name="qualifiers"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="value" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="detailSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - <ns4:element name="subDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.SubDetail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceReferenceInformation.GeneElement" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="element" elementType="FHIR.Identifier"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.string"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProduct" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="domain" elementType="FHIR.Coding"/> - <ns4:element name="combinedPharmaceuticalDoseForm" elementType="FHIR.CodeableConcept"/> - <ns4:element name="legalStatusOfSupply" elementType="FHIR.CodeableConcept"/> - <ns4:element name="additionalMonitoringIndicator" elementType="FHIR.CodeableConcept"/> - <ns4:element name="specialMeasures"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="paediatricUseIndicator" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productClassification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="marketingStatus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MarketingStatus"/> - </ns4:element> - <ns4:element name="pharmaceuticalProduct"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="packagedMedicinalProduct"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="attachedDocument"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="masterFile"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="clinicalTrial"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProduct.Name"/> - </ns4:element> - <ns4:element name="crossReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="manufacturingBusinessOperation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProduct.ManufacturingBusinessOperation"/> - </ns4:element> - <ns4:element name="specialDesignation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProduct.SpecialDesignation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Test" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Action1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.Nutrient" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="modifier" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Age" retrievable="false" baseType="FHIR.Quantity"/> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Test" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestReport.Action1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CareTeam.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="role"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="member" elementType="FHIR.Reference"/> - <ns4:element name="onBehalfOf" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImagingStudy.Series" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="uid" elementType="FHIR.id"/> - <ns4:element name="number" elementType="FHIR.unsignedInt"/> - <ns4:element name="modality" elementType="FHIR.Coding"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="numberOfInstances" elementType="FHIR.unsignedInt"/> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.Coding"/> - <ns4:element name="laterality" elementType="FHIR.Coding"/> - <ns4:element name="specimen"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="started" elementType="FHIR.dateTime"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImagingStudy.Performer"/> - </ns4:element> - <ns4:element name="instance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImagingStudy.Instance"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Composition" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.CompositionStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="confidentiality" elementType="FHIR.vConfidentialityClassification"/> - <ns4:element name="attester"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Composition.Attester"/> - </ns4:element> - <ns4:element name="custodian" elementType="FHIR.Reference"/> - <ns4:element name="relatesTo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Composition.RelatesTo"/> - </ns4:element> - <ns4:element name="event"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Composition.Event"/> - </ns4:element> - <ns4:element name="section"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Composition.Section"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPharmaceutical.RouteOfAdministration" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="firstDose" elementType="FHIR.Quantity"/> - <ns4:element name="maxSingleDose" elementType="FHIR.Quantity"/> - <ns4:element name="maxDosePerDay" elementType="FHIR.Quantity"/> - <ns4:element name="maxDosePerTreatmentPeriod" elementType="FHIR.Ratio"/> - <ns4:element name="maxTreatmentPeriod" elementType="FHIR.Duration"/> - <ns4:element name="targetSpecies"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPharmaceutical.TargetSpecies"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.OrganismGeneral" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="kingdom" elementType="FHIR.CodeableConcept"/> - <ns4:element name="phylum" elementType="FHIR.CodeableConcept"/> - <ns4:element name="class" elementType="FHIR.CodeableConcept"/> - <ns4:element name="order" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationRecommendation.DateCriterion" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Dosage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="dosage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VariableType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Endpoint" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="connectionType"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EndpointStatus"/> - <ns4:element name="connectionType" elementType="FHIR.Coding"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="managingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="payloadType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="payloadMimeType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="address" elementType="FHIR.url"/> - <ns4:element name="header"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="kind" elementType="FHIR.CapabilityStatementKind"/> - <ns4:element name="instantiates"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="imports"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="software" elementType="FHIR.CapabilityStatement.Software"/> - <ns4:element name="implementation" elementType="FHIR.CapabilityStatement.Implementation"/> - <ns4:element name="fhirVersion" elementType="FHIR.FHIRVersion"/> - <ns4:element name="format"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="patchFormat"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="implementationGuide"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="rest"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Rest"/> - </ns4:element> - <ns4:element name="messaging"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Messaging"/> - </ns4:element> - <ns4:element name="document"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Document"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReportResult" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Stratifier" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="stratum"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Stratum"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMapGroupUnmappedMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="instant" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.DateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Communication.Payload" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActivityDefinition" retrievable="true" primaryCodePath="topic" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="library"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="kind" elementType="FHIR.RequestResourceType"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intent" elementType="FHIR.RequestIntent"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ActivityDefinition.Participant"/> - </ns4:element> - <ns4:element name="product"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="dosage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage"/> - </ns4:element> - <ns4:element name="bodySite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specimenRequirement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="observationRequirement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="observationResultRequirement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="transform" elementType="FHIR.canonical"/> - <ns4:element name="dynamicValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ActivityDefinition.DynamicValue"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Inner" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="start" elementType="FHIR.integer"/> - <ns4:element name="end" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyRequest.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Related" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="claim" elementType="FHIR.Reference"/> - <ns4:element name="relationship" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reference" elementType="FHIR.Identifier"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Accident" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Questionnaire.Initial" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="positiveInt" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="immutable" elementType="FHIR.boolean"/> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="compose" elementType="FHIR.ValueSet.Compose"/> - <ns4:element name="expansion" elementType="FHIR.ValueSet.Expansion"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityRequest.Insurance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="focal" elementType="FHIR.boolean"/> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="businessArrangement" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Linkage" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Linkage.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EvidenceVariable" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="shortTitle" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.EvidenceVariableType"/> - <ns4:element name="characteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EvidenceVariable.Characteristic"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Signature" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="when" elementType="FHIR.instant"/> - <ns4:element name="who" elementType="FHIR.Reference"/> - <ns4:element name="onBehalfOf" elementType="FHIR.Reference"/> - <ns4:element name="targetFormat" elementType="FHIR.code"/> - <ns4:element name="sigFormat" elementType="FHIR.code"/> - <ns4:element name="data" elementType="FHIR.base64Binary"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Alternative" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="step"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Step"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Code" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="statusDate" elementType="FHIR.dateTime"/> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClinicalImpressionStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentReference.Context" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="encounter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="event"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="facilityType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="practiceSetting" elementType="FHIR.CodeableConcept"/> - <ns4:element name="sourcePatientInfo" elementType="FHIR.Reference"/> - <ns4:element name="related"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Measure" retrievable="true" primaryCodePath="topic" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="library"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="disclaimer" elementType="FHIR.markdown"/> - <ns4:element name="scoring" elementType="FHIR.CodeableConcept"/> - <ns4:element name="compositeScoring" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="riskAdjustment" elementType="FHIR.string"/> - <ns4:element name="rateAggregation" elementType="FHIR.string"/> - <ns4:element name="rationale" elementType="FHIR.markdown"/> - <ns4:element name="clinicalRecommendationStatement" elementType="FHIR.markdown"/> - <ns4:element name="improvementNotation" elementType="FHIR.CodeableConcept"/> - <ns4:element name="definition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.markdown"/> - </ns4:element> - <ns4:element name="guidance" elementType="FHIR.markdown"/> - <ns4:element name="group"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Measure.Group"/> - </ns4:element> - <ns4:element name="supplementalData"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Measure.SupplementalData"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Practitioner.Qualification" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="issuer" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EligibilityResponsePurpose" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.DeviceName" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.DeviceNameType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Narrative" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="status" elementType="FHIR.NarrativeStatus"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageDefinition.Focus" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - <ns4:element name="min" elementType="FHIR.unsignedInt"/> - <ns4:element name="max" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NarrativeStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Friendly" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageDefinition.AllowedResponse" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="message" elementType="FHIR.canonical"/> - <ns4:element name="situation" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer.StructuralRepresentation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="representation" elementType="FHIR.string"/> - <ns4:element name="attachment" elementType="FHIR.Attachment"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Specimen.Container" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="capacity" elementType="FHIR.Quantity"/> - <ns4:element name="specimenQuantity" elementType="FHIR.Quantity"/> - <ns4:element name="additive"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenDefinition.Handling" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="temperatureQualifier" elementType="FHIR.CodeableConcept"/> - <ns4:element name="temperatureRange" elementType="FHIR.Range"/> - <ns4:element name="maxDuration" elementType="FHIR.Duration"/> - <ns4:element name="instruction" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Coverage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="network"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="benefit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Benefit"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImagingStudyStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EndpointStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Example" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="label" elementType="FHIR.string"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProductCategory" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationDefinition.QualifiedInterval" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.ObservationRangeCategory"/> - <ns4:element name="range" elementType="FHIR.Range"/> - <ns4:element name="context" elementType="FHIR.CodeableConcept"/> - <ns4:element name="appliesTo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="age" elementType="FHIR.Range"/> - <ns4:element name="gestationalAge" elementType="FHIR.Range"/> - <ns4:element name="condition" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResourceVersionPolicy" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="dateTime" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.DateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Messaging" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.Endpoint"/> - </ns4:element> - <ns4:element name="reliableCache" elementType="FHIR.unsignedInt"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - <ns4:element name="supportedMessage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CapabilityStatement.SupportedMessage"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="caseSensitive" elementType="FHIR.boolean"/> - <ns4:element name="valueSet" elementType="FHIR.canonical"/> - <ns4:element name="hierarchyMeaning" elementType="FHIR.CodeSystemHierarchyMeaning"/> - <ns4:element name="compositional" elementType="FHIR.boolean"/> - <ns4:element name="versionNeeded" elementType="FHIR.boolean"/> - <ns4:element name="content" elementType="FHIR.CodeSystemContentMode"/> - <ns4:element name="supplements" elementType="FHIR.canonical"/> - <ns4:element name="count" elementType="FHIR.unsignedInt"/> - <ns4:element name="filter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Filter"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Property"/> - </ns4:element> - <ns4:element name="concept"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Concept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Account.Guarantor" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="party" elementType="FHIR.Reference"/> - <ns4:element name="onHold" elementType="FHIR.boolean"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter.Location" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="status" elementType="FHIR.EncounterLocationStatus"/> - <ns4:element name="physicalType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionCardinalityBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="careTeamSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="diagnosisSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="procedureSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="informationSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subSite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="encounter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.Detail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Financial" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="allowed"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="used"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.SupportedMessage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.EventCapabilityMode"/> - <ns4:element name="definition" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Subscription" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="status" elementType="FHIR.SubscriptionStatus"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="end" elementType="FHIR.instant"/> - <ns4:element name="reason" elementType="FHIR.string"/> - <ns4:element name="criteria" elementType="FHIR.string"/> - <ns4:element name="error" elementType="FHIR.string"/> - <ns4:element name="channel" elementType="FHIR.Subscription.Channel"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Person" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.HumanName"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="gender" elementType="FHIR.AdministrativeGender"/> - <ns4:element name="birthDate" elementType="FHIR.date"/> - <ns4:element name="address"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Address"/> - </ns4:element> - <ns4:element name="photo" elementType="FHIR.Attachment"/> - <ns4:element name="managingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Person.Link"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Duration" retrievable="false" baseType="FHIR.Quantity"/> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.AdministrationGuidelines" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="dosage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Dosage"/> - </ns4:element> - <ns4:element name="indication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="patientCharacteristics"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.PatientCharacteristics"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle.Entry" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Bundle.Link"/> - </ns4:element> - <ns4:element name="fullUrl" elementType="FHIR.uri"/> - <ns4:element name="resource" elementType="FHIR.ResourceContainer"/> - <ns4:element name="search" elementType="FHIR.Bundle.Search"/> - <ns4:element name="request" elementType="FHIR.Bundle.Request"/> - <ns4:element name="response" elementType="FHIR.Bundle.Response"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GroupMeasure" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NamingSystemIdentifierType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItemDefinition.PriceComponent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.InvoicePriceComponentType"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationDefinition.Overload" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="parameterName"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent.Provision" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.ConsentProvisionType"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="actor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Consent.Actor"/> - </ns4:element> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="securityLabel"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="purpose"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="class"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="dataPeriod" elementType="FHIR.Period"/> - <ns4:element name="data"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Consent.Data"/> - </ns4:element> - <ns4:element name="provision"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Consent.Provision"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="domain" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="comment" elementType="FHIR.string"/> - <ns4:element name="moiety"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Moiety"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Property"/> - </ns4:element> - <ns4:element name="referenceInformation" elementType="FHIR.Reference"/> - <ns4:element name="structure" elementType="FHIR.SubstanceSpecification.Structure"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Code"/> - </ns4:element> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Name"/> - </ns4:element> - <ns4:element name="molecularWeight"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.MolecularWeight"/> - </ns4:element> - <ns4:element name="relationship"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Relationship"/> - </ns4:element> - <ns4:element name="nucleicAcid" elementType="FHIR.Reference"/> - <ns4:element name="polymer" elementType="FHIR.Reference"/> - <ns4:element name="protein" elementType="FHIR.Reference"/> - <ns4:element name="sourceMaterial" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceDefinition.Capability" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NamingSystem" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="kind" elementType="FHIR.NamingSystemType"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="responsible" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="usage" elementType="FHIR.string"/> - <ns4:element name="uniqueId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.NamingSystem.UniqueId"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="start" elementType="FHIR.code"/> - <ns4:element name="profile" elementType="FHIR.canonical"/> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.GraphDefinition.Link"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntolerance.Reaction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="substance" elementType="FHIR.CodeableConcept"/> - <ns4:element name="manifestation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="onset" elementType="FHIR.dateTime"/> - <ns4:element name="severity" elementType="FHIR.AllergyIntoleranceSeverity"/> - <ns4:element name="exposureRoute" elementType="FHIR.CodeableConcept"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.Texture" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="modifier" elementType="FHIR.CodeableConcept"/> - <ns4:element name="foodType" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Coverage.Class" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="synthesisType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="studyType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="population" elementType="FHIR.Reference"/> - <ns4:element name="exposure" elementType="FHIR.Reference"/> - <ns4:element name="outcome" elementType="FHIR.Reference"/> - <ns4:element name="sampleSize" elementType="FHIR.RiskEvidenceSynthesis.SampleSize"/> - <ns4:element name="riskEstimate" elementType="FHIR.RiskEvidenceSynthesis.RiskEstimate"/> - <ns4:element name="certainty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RiskEvidenceSynthesis.Certainty"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Device.UdiCarrier" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="deviceIdentifier" elementType="FHIR.string"/> - <ns4:element name="issuer" elementType="FHIR.uri"/> - <ns4:element name="jurisdiction" elementType="FHIR.uri"/> - <ns4:element name="carrierAIDC" elementType="FHIR.base64Binary"/> - <ns4:element name="carrierHRF" elementType="FHIR.string"/> - <ns4:element name="entryType" elementType="FHIR.UDIEntryType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceRequest" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="priorRequest"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="groupIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="intent" elementType="FHIR.RequestIntent"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DeviceRequest.Parameter"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="performerType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="relevantHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ServiceRequest" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="requisition" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="intent" elementType="FHIR.RequestIntent"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="orderDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="asNeeded"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="performerType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="locationCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="locationReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="specimen"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="patientInstruction" elementType="FHIR.string"/> - <ns4:element name="relevantHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Provenance.Entity" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="role" elementType="FHIR.ProvenanceEntityRole"/> - <ns4:element name="what" elementType="FHIR.Reference"/> - <ns4:element name="agent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Provenance.Agent"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeableConcept" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="coding"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="text" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceProtein.Subunit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="subunit" elementType="FHIR.integer"/> - <ns4:element name="sequence" elementType="FHIR.string"/> - <ns4:element name="length" elementType="FHIR.integer"/> - <ns4:element name="sequenceAttachment" elementType="FHIR.Attachment"/> - <ns4:element name="nTerminalModificationId" elementType="FHIR.Identifier"/> - <ns4:element name="nTerminalModification" elementType="FHIR.string"/> - <ns4:element name="cTerminalModificationId" elementType="FHIR.Identifier"/> - <ns4:element name="cTerminalModification" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis.Certainty" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="rating"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="certaintySubcomponent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RiskEvidenceSynthesis.CertaintySubcomponent"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceProtein" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="sequenceType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="numberOfSubunits" elementType="FHIR.integer"/> - <ns4:element name="disulfideLinkage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="subunit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceProtein.Subunit"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AdverseEvent" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="actuality" elementType="FHIR.AdverseEventActuality"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="event" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="detected" elementType="FHIR.dateTime"/> - <ns4:element name="recordedDate" elementType="FHIR.dateTime"/> - <ns4:element name="resultingCondition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="seriousness" elementType="FHIR.CodeableConcept"/> - <ns4:element name="severity" elementType="FHIR.CodeableConcept"/> - <ns4:element name="outcome" elementType="FHIR.CodeableConcept"/> - <ns4:element name="recorder" elementType="FHIR.Reference"/> - <ns4:element name="contributor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="suspectEntity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AdverseEvent.SuspectEntity"/> - </ns4:element> - <ns4:element name="subjectMedicalHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="referenceDocument"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="study"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.Condition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="kind" elementType="FHIR.ActionConditionKind"/> - <ns4:element name="expression" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Appointment.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="actor" elementType="FHIR.Reference"/> - <ns4:element name="required" elementType="FHIR.ParticipantRequired"/> - <ns4:element name="status" elementType="FHIR.ParticipationStatus"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Expansion" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.uri"/> - <ns4:element name="timestamp" elementType="FHIR.dateTime"/> - <ns4:element name="total" elementType="FHIR.integer"/> - <ns4:element name="offset" elementType="FHIR.integer"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Parameter"/> - </ns4:element> - <ns4:element name="contains"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Contains"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="target"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="group"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ConceptMap.Group"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DiscriminatorType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Setup" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestReport.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Reference" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="reference" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.uri"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="display" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapInputMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductUndesirableEffect" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="symptomConditionEffect" elementType="FHIR.CodeableConcept"/> - <ns4:element name="classification" elementType="FHIR.CodeableConcept"/> - <ns4:element name="frequencyOfOccurrence" elementType="FHIR.CodeableConcept"/> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Population"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageHeader" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="event"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="destination"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MessageHeader.Destination"/> - </ns4:element> - <ns4:element name="sender" elementType="FHIR.Reference"/> - <ns4:element name="enterer" elementType="FHIR.Reference"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="source" elementType="FHIR.MessageHeader.Source"/> - <ns4:element name="responsible" elementType="FHIR.Reference"/> - <ns4:element name="reason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="response" elementType="FHIR.MessageHeader.Response"/> - <ns4:element name="focus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="definition" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="LinkageType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ReferenceHandlingPolicy" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Payment" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="adjustment" elementType="FHIR.Money"/> - <ns4:element name="adjustmentReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="date" elementType="FHIR.date"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Contains" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="system" elementType="FHIR.uri"/> - <ns4:element name="abstract" elementType="FHIR.boolean"/> - <ns4:element name="inactive" elementType="FHIR.boolean"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="designation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Designation"/> - </ns4:element> - <ns4:element name="contains"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Contains"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AdverseEvent.Causality" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="assessment" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productRelatedness" elementType="FHIR.string"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchStudyStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Page" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="generation" elementType="FHIR.GuidePageGeneration"/> - <ns4:element name="page"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Page"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEventOutcome" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReport.Group" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Population"/> - </ns4:element> - <ns4:element name="measureScore" elementType="FHIR.Quantity"/> - <ns4:element name="stratifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MeasureReport.Stratifier"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.StructureVariant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="variantType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="exact" elementType="FHIR.boolean"/> - <ns4:element name="length" elementType="FHIR.integer"/> - <ns4:element name="outer" elementType="FHIR.MolecularSequence.Outer"/> - <ns4:element name="inner" elementType="FHIR.MolecularSequence.Inner"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Compose" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="lockedDate" elementType="FHIR.date"/> - <ns4:element name="inactive" elementType="FHIR.boolean"/> - <ns4:element name="include"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Include"/> - </ns4:element> - <ns4:element name="exclude"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Include"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyDelivery.SuppliedItem" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Rule" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenContainedPreference" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionRelationshipType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConstraintSeverity" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AllergyIntolerance" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="clinicalStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="verificationStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type" elementType="FHIR.AllergyIntoleranceType"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AllergyIntoleranceCategory"/> - </ns4:element> - <ns4:element name="criticality" elementType="FHIR.AllergyIntoleranceCriticality"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="onset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="recordedDate" elementType="FHIR.dateTime"/> - <ns4:element name="recorder" elementType="FHIR.Reference"/> - <ns4:element name="asserter" elementType="FHIR.Reference"/> - <ns4:element name="lastOccurrence" elementType="FHIR.dateTime"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="reaction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AllergyIntolerance.Reaction"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Encounter" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EncounterStatus"/> - <ns4:element name="statusHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Encounter.StatusHistory"/> - </ns4:element> - <ns4:element name="class" elementType="FHIR.Coding"/> - <ns4:element name="classHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Encounter.ClassHistory"/> - </ns4:element> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviceType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="episodeOfCare"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Encounter.Participant"/> - </ns4:element> - <ns4:element name="appointment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="length" elementType="FHIR.Duration"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Encounter.Diagnosis"/> - </ns4:element> - <ns4:element name="account"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="hospitalization" elementType="FHIR.Encounter.Hospitalization"/> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Encounter.Location"/> - </ns4:element> - <ns4:element name="serviceProvider" elementType="FHIR.Reference"/> - <ns4:element name="partOf" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Procedure.FocalDevice" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action" elementType="FHIR.CodeableConcept"/> - <ns4:element name="manipulated" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Dependent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.id"/> - <ns4:element name="variable"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EventCapabilityMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Diagnosis" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="onAdmission" elementType="FHIR.CodeableConcept"/> - <ns4:element name="packageCode" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityResponse.Benefit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="allowed"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="used"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Timing" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="event"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.dateTime"/> - </ns4:element> - <ns4:element name="repeat" elementType="FHIR.Timing.Repeat"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIngredient" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="allergenicIndicator" elementType="FHIR.boolean"/> - <ns4:element name="manufacturer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="specifiedSubstance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductIngredient.SpecifiedSubstance"/> - </ns4:element> - <ns4:element name="substance" elementType="FHIR.MedicinalProductIngredient.Substance"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Invoice" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.InvoiceStatus"/> - <ns4:element name="cancelledReason" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="recipient" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Invoice.Participant"/> - </ns4:element> - <ns4:element name="issuer" elementType="FHIR.Reference"/> - <ns4:element name="account" elementType="FHIR.Reference"/> - <ns4:element name="lineItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Invoice.LineItem"/> - </ns4:element> - <ns4:element name="totalPriceComponent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Invoice.PriceComponent"/> - </ns4:element> - <ns4:element name="totalNet" elementType="FHIR.Money"/> - <ns4:element name="totalGross" elementType="FHIR.Money"/> - <ns4:element name="paymentTerms" elementType="FHIR.markdown"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSearchSupport" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinition.Mapping" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identity" elementType="FHIR.id"/> - <ns4:element name="uri" elementType="FHIR.uri"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ObservationRangeCategory" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Extension" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Group.Characteristic" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="exclude" elementType="FHIR.boolean"/> - <ns4:element name="period" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="UDIEntryType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder.EnteralFormula" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="baseFormulaType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="baseFormulaProductName" elementType="FHIR.string"/> - <ns4:element name="additiveType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="additiveProductName" elementType="FHIR.string"/> - <ns4:element name="caloricDensity" elementType="FHIR.Quantity"/> - <ns4:element name="routeofAdministration" elementType="FHIR.CodeableConcept"/> - <ns4:element name="administration"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.NutritionOrder.Administration"/> - </ns4:element> - <ns4:element name="maxVolumeToDeliver" elementType="FHIR.Quantity"/> - <ns4:element name="administrationInstruction" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Composition.Section" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="focus" elementType="FHIR.Reference"/> - <ns4:element name="text" elementType="FHIR.Narrative"/> - <ns4:element name="mode" elementType="FHIR.ListMode"/> - <ns4:element name="orderedBy" elementType="FHIR.CodeableConcept"/> - <ns4:element name="entry"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="emptyReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="section"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Composition.Section"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetricCategory" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIndication" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="diseaseSymptomProcedure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="diseaseStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="comorbidity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="intendedEffect" elementType="FHIR.CodeableConcept"/> - <ns4:element name="duration" elementType="FHIR.Quantity"/> - <ns4:element name="otherTherapy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductIndication.OtherTherapy"/> - </ns4:element> - <ns4:element name="undesirableEffect"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Population"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReportActionResult" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActivityDefinition.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.ActionParticipantType"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPharmaceutical" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="administrableDoseForm" elementType="FHIR.CodeableConcept"/> - <ns4:element name="unitOfPresentation" elementType="FHIR.CodeableConcept"/> - <ns4:element name="ingredient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="device"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="characteristics"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPharmaceutical.Characteristics"/> - </ns4:element> - <ns4:element name="routeOfAdministration"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductPharmaceutical.RouteOfAdministration"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle.Request" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="method" elementType="FHIR.HTTPVerb"/> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="ifNoneMatch" elementType="FHIR.string"/> - <ns4:element name="ifModifiedSince" elementType="FHIR.instant"/> - <ns4:element name="ifMatch" elementType="FHIR.string"/> - <ns4:element name="ifNoneExist" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.sequenceType"/> - <ns4:element name="coordinateSystem" elementType="FHIR.integer"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="specimen" elementType="FHIR.Reference"/> - <ns4:element name="device" elementType="FHIR.Reference"/> - <ns4:element name="performer" elementType="FHIR.Reference"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="referenceSeq" elementType="FHIR.MolecularSequence.ReferenceSeq"/> - <ns4:element name="variant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MolecularSequence.Variant"/> - </ns4:element> - <ns4:element name="observedSeq" elementType="FHIR.string"/> - <ns4:element name="quality"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MolecularSequence.Quality"/> - </ns4:element> - <ns4:element name="readCoverage" elementType="FHIR.integer"/> - <ns4:element name="repository"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MolecularSequence.Repository"/> - </ns4:element> - <ns4:element name="pointer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="structureVariant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MolecularSequence.StructureVariant"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatementKind" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Person.Link" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="target" elementType="FHIR.Reference"/> - <ns4:element name="assurance" elementType="FHIR.IdentityAssuranceLevel"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="itemSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Detail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CarePlan.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="kind" elementType="FHIR.CarePlanActivityKind"/> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="goal"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.CarePlanActivityStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="scheduled"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="product"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="dailyAmount" elementType="FHIR.Quantity"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="description" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HealthcareService.Eligibility" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="comment" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EventTiming" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Immunization.ProtocolApplied" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="series" elementType="FHIR.string"/> - <ns4:element name="authority" elementType="FHIR.Reference"/> - <ns4:element name="targetDisease"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="doseNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="seriesDoses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.FractionDescription" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="fraction" elementType="FHIR.string"/> - <ns4:element name="materialType" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="type"> - <ns4:element name="type" elementType="FHIR.Coding"/> - <ns4:element name="subtype"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="action" elementType="FHIR.AuditEventAction"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="recorded" elementType="FHIR.instant"/> - <ns4:element name="outcome" elementType="FHIR.AuditEventOutcome"/> - <ns4:element name="outcomeDesc" elementType="FHIR.string"/> - <ns4:element name="purposeOfEvent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="agent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AuditEvent.Agent"/> - </ns4:element> - <ns4:element name="source" elementType="FHIR.AuditEvent.Source"/> - <ns4:element name="entity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AuditEvent.Entity"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.CareTeam" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="responsible" elementType="FHIR.boolean"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="qualification" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Closure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="translation" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchParamType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionGroupingBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="kind" elementType="FHIR.OperationKind"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="purpose" elementType="FHIR.markdown"/> - <ns4:element name="affectsState" elementType="FHIR.boolean"/> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="comment" elementType="FHIR.markdown"/> - <ns4:element name="base" elementType="FHIR.canonical"/> - <ns4:element name="resource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.code"/> - </ns4:element> - <ns4:element name="system" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.boolean"/> - <ns4:element name="instance" elementType="FHIR.boolean"/> - <ns4:element name="inputProfile" elementType="FHIR.canonical"/> - <ns4:element name="outputProfile" elementType="FHIR.canonical"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.OperationDefinition.Parameter"/> - </ns4:element> - <ns4:element name="overload"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.OperationDefinition.Overload"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMapModelMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TaskStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Manifest" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="rendering" elementType="FHIR.url"/> - <ns4:element name="resource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Resource1"/> - </ns4:element> - <ns4:element name="page"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Page1"/> - </ns4:element> - <ns4:element name="image"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="other"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Operation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="result" elementType="FHIR.TestReportActionResult"/> - <ns4:element name="message" elementType="FHIR.markdown"/> - <ns4:element name="detail" elementType="FHIR.uri"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductContraindication" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="disease" elementType="FHIR.CodeableConcept"/> - <ns4:element name="diseaseStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="comorbidity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="therapeuticIndication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="otherTherapy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductContraindication.OtherTherapy"/> - </ns4:element> - <ns4:element name="population"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Population"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Source" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="context" elementType="FHIR.id"/> - <ns4:element name="min" elementType="FHIR.integer"/> - <ns4:element name="max" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.string"/> - <ns4:element name="defaultValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="element" elementType="FHIR.string"/> - <ns4:element name="listMode" elementType="FHIR.StructureMapSourceListMode"/> - <ns4:element name="variable" elementType="FHIR.id"/> - <ns4:element name="condition" elementType="FHIR.string"/> - <ns4:element name="check" elementType="FHIR.string"/> - <ns4:element name="logMessage" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.TestReportStatus"/> - <ns4:element name="testScript" elementType="FHIR.Reference"/> - <ns4:element name="result" elementType="FHIR.TestReportResult"/> - <ns4:element name="score" elementType="FHIR.decimal"/> - <ns4:element name="tester" elementType="FHIR.string"/> - <ns4:element name="issued" elementType="FHIR.dateTime"/> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestReport.Participant"/> - </ns4:element> - <ns4:element name="setup" elementType="FHIR.TestReport.Setup"/> - <ns4:element name="test"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestReport.Test"/> - </ns4:element> - <ns4:element name="teardown" elementType="FHIR.TestReport.Teardown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap.Group" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="source" elementType="FHIR.uri"/> - <ns4:element name="sourceVersion" elementType="FHIR.string"/> - <ns4:element name="target" elementType="FHIR.uri"/> - <ns4:element name="targetVersion" elementType="FHIR.string"/> - <ns4:element name="element"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ConceptMap.Element"/> - </ns4:element> - <ns4:element name="unmapped" elementType="FHIR.ConceptMap.Unmapped"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OrganizationAffiliation" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="active" elementType="FHIR.boolean"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="organization" elementType="FHIR.Reference"/> - <ns4:element name="participatingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="network"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="healthcareService"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="endpoint"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEvent.Entity" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="what" elementType="FHIR.Reference"/> - <ns4:element name="type" elementType="FHIR.Coding"/> - <ns4:element name="role" elementType="FHIR.Coding"/> - <ns4:element name="lifecycle" elementType="FHIR.Coding"/> - <ns4:element name="securityLabel"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coding"/> - </ns4:element> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="query" elementType="FHIR.base64Binary"/> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.AuditEvent.Detail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Evidence" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="shortTitle" elementType="FHIR.string"/> - <ns4:element name="subtitle" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="approvalDate" elementType="FHIR.date"/> - <ns4:element name="lastReviewDate" elementType="FHIR.date"/> - <ns4:element name="effectivePeriod" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="editor"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="reviewer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="endorser"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="exposureBackground" elementType="FHIR.Reference"/> - <ns4:element name="exposureVariant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="outcome"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HealthcareService.AvailableTime" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="daysOfWeek"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DaysOfWeek"/> - </ns4:element> - <ns4:element name="allDay" elementType="FHIR.boolean"/> - <ns4:element name="availableStartTime" elementType="FHIR.time"/> - <ns4:element name="availableEndTime" elementType="FHIR.time"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProductStorageScale" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GraphCompartmentRule" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchSubject" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ResearchSubjectStatus"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="study" elementType="FHIR.Reference"/> - <ns4:element name="individual" elementType="FHIR.Reference"/> - <ns4:element name="assignedArm" elementType="FHIR.string"/> - <ns4:element name="actualArm" elementType="FHIR.string"/> - <ns4:element name="consent" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Parameters.Parameter" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="resource" elementType="FHIR.ResourceContainer"/> - <ns4:element name="part"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Parameters.Parameter"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DataRequirement.DateFilter" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="searchParam" elementType="FHIR.string"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Payee" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="party" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Substance" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FHIRSubstanceStatus"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="instance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Substance.Instance"/> - </ns4:element> - <ns4:element name="ingredient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Substance.Ingredient"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Legal" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentReference.Content" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="attachment" elementType="FHIR.Attachment"/> - <ns4:element name="format" elementType="FHIR.Coding"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskEvidenceSynthesis.SampleSize" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="numberOfStudies" elementType="FHIR.integer"/> - <ns4:element name="numberOfParticipants" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Teardown" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Action2"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Designation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="language" elementType="FHIR.code"/> - <ns4:element name="use" elementType="FHIR.Coding"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImmunizationRecommendation.Recommendation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="vaccineCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="targetDisease" elementType="FHIR.CodeableConcept"/> - <ns4:element name="contraindicatedVaccineCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="forecastStatus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="forecastReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="dateCriterion"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImmunizationRecommendation.DateCriterion"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="series" elementType="FHIR.string"/> - <ns4:element name="doseNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="seriesDoses"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="supportingImmunization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="supportingPatientInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceNucleicAcid.Sugar" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="residueSite" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TriggerDefinition" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="type" elementType="FHIR.TriggerType"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="data"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement"/> - </ns4:element> - <ns4:element name="condition" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AppointmentResponse" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="appointment" elementType="FHIR.Reference"/> - <ns4:element name="start" elementType="FHIR.instant"/> - <ns4:element name="end" elementType="FHIR.instant"/> - <ns4:element name="participantType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="actor" elementType="FHIR.Reference"/> - <ns4:element name="participantStatus" elementType="FHIR.ParticipationStatus"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SlicingRules" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Interaction1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.SystemRestfulInteraction"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Insurance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="focal" elementType="FHIR.boolean"/> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="preAuthRef"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Communication" retrievable="true" primaryCodePath="category" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="inResponseTo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EventStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="medium"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="topic" elementType="FHIR.CodeableConcept"/> - <ns4:element name="about"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="sent" elementType="FHIR.dateTime"/> - <ns4:element name="received" elementType="FHIR.dateTime"/> - <ns4:element name="recipient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="sender" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="payload"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Communication.Payload"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Term" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="issued" elementType="FHIR.dateTime"/> - <ns4:element name="applies" elementType="FHIR.Period"/> - <ns4:element name="topic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="securityLabel"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.SecurityLabel"/> - </ns4:element> - <ns4:element name="offer" elementType="FHIR.Contract.Offer"/> - <ns4:element name="asset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Asset"/> - </ns4:element> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Action"/> - </ns4:element> - <ns4:element name="group"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Term"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefitStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="GuideParameterCode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CatalogEntryRelationType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Coverage.CostToBeneficiary" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="exception"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Coverage.Exception"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="LinkType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.ContentDefinition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="publisher" elementType="FHIR.Reference"/> - <ns4:element name="publicationDate" elementType="FHIR.dateTime"/> - <ns4:element name="publicationStatus" elementType="FHIR.ContractResourcePublicationStatusCodes"/> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent" retrievable="true" primaryCodePath="category" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EventStatus"/> - <ns4:element name="scope" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="dateTime" elementType="FHIR.dateTime"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="organization"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="policy"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Consent.Policy"/> - </ns4:element> - <ns4:element name="policyRule" elementType="FHIR.CodeableConcept"/> - <ns4:element name="verification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Consent.Verification"/> - </ns4:element> - <ns4:element name="provision" elementType="FHIR.Consent.Provision"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMapEquivalence" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEventAction" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetric.Calibration" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.DeviceMetricCalibrationType"/> - <ns4:element name="state" elementType="FHIR.DeviceMetricCalibrationState"/> - <ns4:element name="time" elementType="FHIR.instant"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Detail1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - <ns4:element name="subDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.SubDetail1"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIngredient.ReferenceStrength" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="substance" elementType="FHIR.CodeableConcept"/> - <ns4:element name="strength" elementType="FHIR.Ratio"/> - <ns4:element name="strengthLowLimit" elementType="FHIR.Ratio"/> - <ns4:element name="measurementPoint" elementType="FHIR.string"/> - <ns4:element name="country"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentManifest" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="masterIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.DocumentReferenceStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="recipient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="source" elementType="FHIR.uri"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="related"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DocumentManifest.Related"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.Operation" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.canonical"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Observation" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ObservationStatus"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="focus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="effective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="issued" elementType="FHIR.instant"/> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="dataAbsentReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="interpretation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="specimen" elementType="FHIR.Reference"/> - <ns4:element name="device" elementType="FHIR.Reference"/> - <ns4:element name="referenceRange"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Observation.ReferenceRange"/> - </ns4:element> - <ns4:element name="hasMember"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="derivedFrom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="component"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Observation.Component"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchModifierCode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConceptMap.Unmapped" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="mode" elementType="FHIR.ConceptMapGroupUnmappedMode"/> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="url" elementType="FHIR.canonical"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Annotation" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="time" elementType="FHIR.dateTime"/> - <ns4:element name="text" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceNucleicAcid" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="sequenceType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="numberOfSubunits" elementType="FHIR.integer"/> - <ns4:element name="areaOfHybridisation" elementType="FHIR.string"/> - <ns4:element name="oligoNucleotideType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subunit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceNucleicAcid.Subunit"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EventStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Schedule" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="schedule" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="OperationParameterUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.SupportingInfo" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="reason" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ConsentProvisionType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ValueSet.Include" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="system" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="concept"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Concept"/> - </ns4:element> - <ns4:element name="filter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ValueSet.Filter"/> - </ns4:element> - <ns4:element name="valueSet"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.CertaintySubcomponent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="rating"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DataRequirement.Sort" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="direction" elementType="FHIR.SortDirection"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPharmaceutical.WithdrawalPeriod" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="tissue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value" elementType="FHIR.Quantity"/> - <ns4:element name="supportingInformation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Repository" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.repositoryType"/> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="datasetId" elementType="FHIR.string"/> - <ns4:element name="variantsetId" elementType="FHIR.string"/> - <ns4:element name="readsetId" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionConditionKind" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.Substitution" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="allowed" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="qualityType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItemDefinition.PropertyGroup" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="applicability"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ChargeItemDefinition.Applicability"/> - </ns4:element> - <ns4:element name="priceComponent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ChargeItemDefinition.PriceComponent"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AdministrativeGender" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Slot" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="serviceCategory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviceType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="specialty"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="appointmentType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="schedule" elementType="FHIR.Reference"/> - <ns4:element name="status" elementType="FHIR.SlotStatus"/> - <ns4:element name="start" elementType="FHIR.instant"/> - <ns4:element name="end" elementType="FHIR.instant"/> - <ns4:element name="overbooked" elementType="FHIR.boolean"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Expansion" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="hierarchical" elementType="FHIR.boolean"/> - <ns4:element name="paging" elementType="FHIR.boolean"/> - <ns4:element name="incomplete" elementType="FHIR.boolean"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TerminologyCapabilities.Parameter"/> - </ns4:element> - <ns4:element name="textFilter" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIngredient.Substance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="strength"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductIngredient.Strength"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contributor" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="type" elementType="FHIR.ContributorType"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Observation.ReferenceRange" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="low" elementType="FHIR.Quantity"/> - <ns4:element name="high" elementType="FHIR.Quantity"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="appliesTo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="age" elementType="FHIR.Range"/> - <ns4:element name="text" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItemDefinition.Applicability" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="language" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResourceContainer" retrievable="false" baseType="System.Any"> - <ns4:element name="Account" elementType="FHIR.Account"/> - <ns4:element name="ActivityDefinition" elementType="FHIR.ActivityDefinition"/> - <ns4:element name="AdverseEvent" elementType="FHIR.AdverseEvent"/> - <ns4:element name="AllergyIntolerance" elementType="FHIR.AllergyIntolerance"/> - <ns4:element name="Appointment" elementType="FHIR.Appointment"/> - <ns4:element name="AppointmentResponse" elementType="FHIR.AppointmentResponse"/> - <ns4:element name="AuditEvent" elementType="FHIR.AuditEvent"/> - <ns4:element name="Basic" elementType="FHIR.Basic"/> - <ns4:element name="Binary" elementType="FHIR.Binary"/> - <ns4:element name="BiologicallyDerivedProduct" elementType="FHIR.BiologicallyDerivedProduct"/> - <ns4:element name="BodyStructure" elementType="FHIR.BodyStructure"/> - <ns4:element name="Bundle" elementType="FHIR.Bundle"/> - <ns4:element name="CapabilityStatement" elementType="FHIR.CapabilityStatement"/> - <ns4:element name="CarePlan" elementType="FHIR.CarePlan"/> - <ns4:element name="CareTeam" elementType="FHIR.CareTeam"/> - <ns4:element name="CatalogEntry" elementType="FHIR.CatalogEntry"/> - <ns4:element name="ChargeItem" elementType="FHIR.ChargeItem"/> - <ns4:element name="ChargeItemDefinition" elementType="FHIR.ChargeItemDefinition"/> - <ns4:element name="Claim" elementType="FHIR.Claim"/> - <ns4:element name="ClaimResponse" elementType="FHIR.ClaimResponse"/> - <ns4:element name="ClinicalImpression" elementType="FHIR.ClinicalImpression"/> - <ns4:element name="CodeSystem" elementType="FHIR.CodeSystem"/> - <ns4:element name="Communication" elementType="FHIR.Communication"/> - <ns4:element name="CommunicationRequest" elementType="FHIR.CommunicationRequest"/> - <ns4:element name="CompartmentDefinition" elementType="FHIR.CompartmentDefinition"/> - <ns4:element name="Composition" elementType="FHIR.Composition"/> - <ns4:element name="ConceptMap" elementType="FHIR.ConceptMap"/> - <ns4:element name="Condition" elementType="FHIR.Condition"/> - <ns4:element name="Consent" elementType="FHIR.Consent"/> - <ns4:element name="Contract" elementType="FHIR.Contract"/> - <ns4:element name="Coverage" elementType="FHIR.Coverage"/> - <ns4:element name="CoverageEligibilityRequest" elementType="FHIR.CoverageEligibilityRequest"/> - <ns4:element name="CoverageEligibilityResponse" elementType="FHIR.CoverageEligibilityResponse"/> - <ns4:element name="DetectedIssue" elementType="FHIR.DetectedIssue"/> - <ns4:element name="Device" elementType="FHIR.Device"/> - <ns4:element name="DeviceDefinition" elementType="FHIR.DeviceDefinition"/> - <ns4:element name="DeviceMetric" elementType="FHIR.DeviceMetric"/> - <ns4:element name="DeviceRequest" elementType="FHIR.DeviceRequest"/> - <ns4:element name="DeviceUseStatement" elementType="FHIR.DeviceUseStatement"/> - <ns4:element name="DiagnosticReport" elementType="FHIR.DiagnosticReport"/> - <ns4:element name="DocumentManifest" elementType="FHIR.DocumentManifest"/> - <ns4:element name="DocumentReference" elementType="FHIR.DocumentReference"/> - <ns4:element name="EffectEvidenceSynthesis" elementType="FHIR.EffectEvidenceSynthesis"/> - <ns4:element name="Encounter" elementType="FHIR.Encounter"/> - <ns4:element name="Endpoint" elementType="FHIR.Endpoint"/> - <ns4:element name="EnrollmentRequest" elementType="FHIR.EnrollmentRequest"/> - <ns4:element name="EnrollmentResponse" elementType="FHIR.EnrollmentResponse"/> - <ns4:element name="EpisodeOfCare" elementType="FHIR.EpisodeOfCare"/> - <ns4:element name="EventDefinition" elementType="FHIR.EventDefinition"/> - <ns4:element name="Evidence" elementType="FHIR.Evidence"/> - <ns4:element name="EvidenceVariable" elementType="FHIR.EvidenceVariable"/> - <ns4:element name="ExampleScenario" elementType="FHIR.ExampleScenario"/> - <ns4:element name="ExplanationOfBenefit" elementType="FHIR.ExplanationOfBenefit"/> - <ns4:element name="FamilyMemberHistory" elementType="FHIR.FamilyMemberHistory"/> - <ns4:element name="Flag" elementType="FHIR.Flag"/> - <ns4:element name="Goal" elementType="FHIR.Goal"/> - <ns4:element name="GraphDefinition" elementType="FHIR.GraphDefinition"/> - <ns4:element name="Group" elementType="FHIR.Group"/> - <ns4:element name="GuidanceResponse" elementType="FHIR.GuidanceResponse"/> - <ns4:element name="HealthcareService" elementType="FHIR.HealthcareService"/> - <ns4:element name="ImagingStudy" elementType="FHIR.ImagingStudy"/> - <ns4:element name="Immunization" elementType="FHIR.Immunization"/> - <ns4:element name="ImmunizationEvaluation" elementType="FHIR.ImmunizationEvaluation"/> - <ns4:element name="ImmunizationRecommendation" elementType="FHIR.ImmunizationRecommendation"/> - <ns4:element name="ImplementationGuide" elementType="FHIR.ImplementationGuide"/> - <ns4:element name="InsurancePlan" elementType="FHIR.InsurancePlan"/> - <ns4:element name="Invoice" elementType="FHIR.Invoice"/> - <ns4:element name="ItemInstance" elementType="FHIR.ItemInstance"/> - <ns4:element name="Library" elementType="FHIR.Library"/> - <ns4:element name="Linkage" elementType="FHIR.Linkage"/> - <ns4:element name="List" elementType="FHIR.List"/> - <ns4:element name="Location" elementType="FHIR.Location"/> - <ns4:element name="Measure" elementType="FHIR.Measure"/> - <ns4:element name="MeasureReport" elementType="FHIR.MeasureReport"/> - <ns4:element name="Media" elementType="FHIR.Media"/> - <ns4:element name="Medication" elementType="FHIR.Medication"/> - <ns4:element name="MedicationAdministration" elementType="FHIR.MedicationAdministration"/> - <ns4:element name="MedicationDispense" elementType="FHIR.MedicationDispense"/> - <ns4:element name="MedicationKnowledge" elementType="FHIR.MedicationKnowledge"/> - <ns4:element name="MedicationRequest" elementType="FHIR.MedicationRequest"/> - <ns4:element name="MedicationStatement" elementType="FHIR.MedicationStatement"/> - <ns4:element name="MedicinalProduct" elementType="FHIR.MedicinalProduct"/> - <ns4:element name="MedicinalProductAuthorization" elementType="FHIR.MedicinalProductAuthorization"/> - <ns4:element name="MedicinalProductContraindication" elementType="FHIR.MedicinalProductContraindication"/> - <ns4:element name="MedicinalProductIndication" elementType="FHIR.MedicinalProductIndication"/> - <ns4:element name="MedicinalProductIngredient" elementType="FHIR.MedicinalProductIngredient"/> - <ns4:element name="MedicinalProductInteraction" elementType="FHIR.MedicinalProductInteraction"/> - <ns4:element name="MedicinalProductManufactured" elementType="FHIR.MedicinalProductManufactured"/> - <ns4:element name="MedicinalProductPackaged" elementType="FHIR.MedicinalProductPackaged"/> - <ns4:element name="MedicinalProductPharmaceutical" elementType="FHIR.MedicinalProductPharmaceutical"/> - <ns4:element name="MedicinalProductUndesirableEffect" elementType="FHIR.MedicinalProductUndesirableEffect"/> - <ns4:element name="MessageDefinition" elementType="FHIR.MessageDefinition"/> - <ns4:element name="MessageHeader" elementType="FHIR.MessageHeader"/> - <ns4:element name="MolecularSequence" elementType="FHIR.MolecularSequence"/> - <ns4:element name="NamingSystem" elementType="FHIR.NamingSystem"/> - <ns4:element name="NutritionOrder" elementType="FHIR.NutritionOrder"/> - <ns4:element name="Observation" elementType="FHIR.Observation"/> - <ns4:element name="ObservationDefinition" elementType="FHIR.ObservationDefinition"/> - <ns4:element name="OperationDefinition" elementType="FHIR.OperationDefinition"/> - <ns4:element name="OperationOutcome" elementType="FHIR.OperationOutcome"/> - <ns4:element name="Organization" elementType="FHIR.Organization"/> - <ns4:element name="OrganizationAffiliation" elementType="FHIR.OrganizationAffiliation"/> - <ns4:element name="Patient" elementType="FHIR.Patient"/> - <ns4:element name="PaymentNotice" elementType="FHIR.PaymentNotice"/> - <ns4:element name="PaymentReconciliation" elementType="FHIR.PaymentReconciliation"/> - <ns4:element name="Person" elementType="FHIR.Person"/> - <ns4:element name="PlanDefinition" elementType="FHIR.PlanDefinition"/> - <ns4:element name="Practitioner" elementType="FHIR.Practitioner"/> - <ns4:element name="PractitionerRole" elementType="FHIR.PractitionerRole"/> - <ns4:element name="Procedure" elementType="FHIR.Procedure"/> - <ns4:element name="Provenance" elementType="FHIR.Provenance"/> - <ns4:element name="Questionnaire" elementType="FHIR.Questionnaire"/> - <ns4:element name="QuestionnaireResponse" elementType="FHIR.QuestionnaireResponse"/> - <ns4:element name="RelatedPerson" elementType="FHIR.RelatedPerson"/> - <ns4:element name="RequestGroup" elementType="FHIR.RequestGroup"/> - <ns4:element name="ResearchDefinition" elementType="FHIR.ResearchDefinition"/> - <ns4:element name="ResearchElementDefinition" elementType="FHIR.ResearchElementDefinition"/> - <ns4:element name="ResearchStudy" elementType="FHIR.ResearchStudy"/> - <ns4:element name="ResearchSubject" elementType="FHIR.ResearchSubject"/> - <ns4:element name="RiskAssessment" elementType="FHIR.RiskAssessment"/> - <ns4:element name="RiskEvidenceSynthesis" elementType="FHIR.RiskEvidenceSynthesis"/> - <ns4:element name="Schedule" elementType="FHIR.Schedule"/> - <ns4:element name="SearchParameter" elementType="FHIR.SearchParameter"/> - <ns4:element name="ServiceRequest" elementType="FHIR.ServiceRequest"/> - <ns4:element name="Slot" elementType="FHIR.Slot"/> - <ns4:element name="Specimen" elementType="FHIR.Specimen"/> - <ns4:element name="SpecimenDefinition" elementType="FHIR.SpecimenDefinition"/> - <ns4:element name="StructureDefinition" elementType="FHIR.StructureDefinition"/> - <ns4:element name="StructureMap" elementType="FHIR.StructureMap"/> - <ns4:element name="Subscription" elementType="FHIR.Subscription"/> - <ns4:element name="Substance" elementType="FHIR.Substance"/> - <ns4:element name="SubstanceNucleicAcid" elementType="FHIR.SubstanceNucleicAcid"/> - <ns4:element name="SubstancePolymer" elementType="FHIR.SubstancePolymer"/> - <ns4:element name="SubstanceProtein" elementType="FHIR.SubstanceProtein"/> - <ns4:element name="SubstanceReferenceInformation" elementType="FHIR.SubstanceReferenceInformation"/> - <ns4:element name="SubstanceSourceMaterial" elementType="FHIR.SubstanceSourceMaterial"/> - <ns4:element name="SubstanceSpecification" elementType="FHIR.SubstanceSpecification"/> - <ns4:element name="SupplyDelivery" elementType="FHIR.SupplyDelivery"/> - <ns4:element name="SupplyRequest" elementType="FHIR.SupplyRequest"/> - <ns4:element name="Task" elementType="FHIR.Task"/> - <ns4:element name="TerminologyCapabilities" elementType="FHIR.TerminologyCapabilities"/> - <ns4:element name="TestReport" elementType="FHIR.TestReport"/> - <ns4:element name="TestScript" elementType="FHIR.TestScript"/> - <ns4:element name="ValueSet" elementType="FHIR.ValueSet"/> - <ns4:element name="VerificationResult" elementType="FHIR.VerificationResult"/> - <ns4:element name="VisionPrescription" elementType="FHIR.VisionPrescription"/> - <ns4:element name="Parameters" elementType="FHIR.Parameters"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Insurance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="focal" elementType="FHIR.boolean"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="coverage" elementType="FHIR.Reference"/> - <ns4:element name="businessArrangement" elementType="FHIR.string"/> - <ns4:element name="preAuthRef"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="claimResponse" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireItemType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenDefinition.Container" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="material" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="cap" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="capacity" elementType="FHIR.Quantity"/> - <ns4:element name="minimumVolume"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="additive"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SpecimenDefinition.Additive"/> - </ns4:element> - <ns4:element name="preparation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Contract.Asset" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="scope" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="typeReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="subtype"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="relationship" elementType="FHIR.Coding"/> - <ns4:element name="context"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Context"/> - </ns4:element> - <ns4:element name="condition" elementType="FHIR.string"/> - <ns4:element name="periodType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="period"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Period"/> - </ns4:element> - <ns4:element name="usePeriod"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Period"/> - </ns4:element> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="linkId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="answer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.Answer"/> - </ns4:element> - <ns4:element name="securityLabelNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.unsignedInt"/> - </ns4:element> - <ns4:element name="valuedItem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Contract.ValuedItem"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Questionnaire.AnswerOption" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="initialSelected" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Location.Position" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="longitude" elementType="FHIR.decimal"/> - <ns4:element name="latitude" elementType="FHIR.decimal"/> - <ns4:element name="altitude" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProduct.Collection" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="collector" elementType="FHIR.Reference"/> - <ns4:element name="source" elementType="FHIR.Reference"/> - <ns4:element name="collected"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetricCalibrationType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Immunization.Reaction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="detail" elementType="FHIR.Reference"/> - <ns4:element name="reported" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenDefinition.TypeTested" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="isDerived" elementType="FHIR.boolean"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="preference" elementType="FHIR.SpecimenContainedPreference"/> - <ns4:element name="container" elementType="FHIR.SpecimenDefinition.Container"/> - <ns4:element name="requirement" elementType="FHIR.string"/> - <ns4:element name="retentionTime" elementType="FHIR.Duration"/> - <ns4:element name="rejectionCriterion"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="handling"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SpecimenDefinition.Handling"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EvidenceVariableType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Immunization.Education" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="documentType" elementType="FHIR.string"/> - <ns4:element name="reference" elementType="FHIR.uri"/> - <ns4:element name="publicationDate" elementType="FHIR.dateTime"/> - <ns4:element name="presentationDate" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="code" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Metadata" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="link"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Link"/> - </ns4:element> - <ns4:element name="capability"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Capability"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Binary" retrievable="false" baseType="FHIR.Resource"> - <ns4:element name="contentType" elementType="FHIR.code"/> - <ns4:element name="securityContext" elementType="FHIR.Reference"/> - <ns4:element name="data" elementType="FHIR.base64Binary"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionSelectionBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SupplyDeliveryStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.DynamicValue" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.Expression"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Roc" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="score"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.integer"/> - </ns4:element> - <ns4:element name="numTP"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.integer"/> - </ns4:element> - <ns4:element name="numFP"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.integer"/> - </ns4:element> - <ns4:element name="numFN"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.integer"/> - </ns4:element> - <ns4:element name="precision"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.decimal"/> - </ns4:element> - <ns4:element name="sensitivity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.decimal"/> - </ns4:element> - <ns4:element name="fMeasure"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.decimal"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureMap.Structure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="url" elementType="FHIR.canonical"/> - <ns4:element name="mode" elementType="FHIR.StructureMapModelMode"/> - <ns4:element name="alias" elementType="FHIR.string"/> - <ns4:element name="documentation" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Task.Output" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="base64Binary"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="code"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="id"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="instant"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="markdown"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="oid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="positiveInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="unsignedInt"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="url"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uuid"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Annotation"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactPoint"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Count"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Distance"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="HumanName"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Identifier"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Money"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Ratio"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="SampledData"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Signature"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ContactDetail"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Contributor"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="DataRequirement"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Expression"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="ParameterDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="RelatedArtifact"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="TriggerDefinition"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="UsageContext"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Dosage"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityRequest.SupportingInfo" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="information" elementType="FHIR.Reference"/> - <ns4:element name="appliesToAll" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DiagnosticReportStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.RequestHeader" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="field" elementType="FHIR.string"/> - <ns4:element name="value" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SampledData" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="origin" elementType="FHIR.Quantity"/> - <ns4:element name="period" elementType="FHIR.decimal"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="lowerLimit" elementType="FHIR.decimal"/> - <ns4:element name="upperLimit" elementType="FHIR.decimal"/> - <ns4:element name="dimensions" elementType="FHIR.positiveInt"/> - <ns4:element name="data" elementType="FHIR.SampledDataDataType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FlagStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.PrecisionEstimate" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="level" elementType="FHIR.decimal"/> - <ns4:element name="from" elementType="FHIR.decimal"/> - <ns4:element name="to" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EffectEvidenceSynthesis.ResultsByExposure" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="exposureState" elementType="FHIR.ExposureState"/> - <ns4:element name="variantState" elementType="FHIR.CodeableConcept"/> - <ns4:element name="riskEvidenceSynthesis" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Variable" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="defaultValue" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="expression" elementType="FHIR.string"/> - <ns4:element name="headerField" elementType="FHIR.string"/> - <ns4:element name="hint" elementType="FHIR.string"/> - <ns4:element name="path" elementType="FHIR.string"/> - <ns4:element name="sourceId" elementType="FHIR.id"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SPDXLicense" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.MolecularWeight" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="method" elementType="FHIR.CodeableConcept"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Quantity"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Distance" retrievable="false" baseType="FHIR.Quantity"/> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MoneyQuantity" retrievable="false" baseType="FHIR.Quantity"/> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Definition" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="grouping"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Grouping"/> - </ns4:element> - <ns4:element name="resource"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Resource"/> - </ns4:element> - <ns4:element name="page" elementType="FHIR.ImplementationGuide.Page"/> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Parameter"/> - </ns4:element> - <ns4:element name="template"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Template"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.ActionParticipantType"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ElementDefinition.Mapping" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identity" elementType="FHIR.id"/> - <ns4:element name="language" elementType="FHIR.code"/> - <ns4:element name="map" elementType="FHIR.string"/> - <ns4:element name="comment" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Setup" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestScript.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ListStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="base64Binary" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DetectedIssue.Evidence" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceUseStatementStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CommunicationRequest" retrievable="true" primaryCodePath="reasonCode" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="replaces"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="groupIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="doNotPerform" elementType="FHIR.boolean"/> - <ns4:element name="medium"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="about"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="payload"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CommunicationRequest.Payload"/> - </ns4:element> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="authoredOn" elementType="FHIR.dateTime"/> - <ns4:element name="requester" elementType="FHIR.Reference"/> - <ns4:element name="recipient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="sender" elementType="FHIR.Reference"/> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RiskAssessment.Prediction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="outcome" elementType="FHIR.CodeableConcept"/> - <ns4:element name="probability"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="qualitativeRisk" elementType="FHIR.CodeableConcept"/> - <ns4:element name="relativeRisk" elementType="FHIR.decimal"/> - <ns4:element name="when"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="rationale" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceNucleicAcid.Subunit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="subunit" elementType="FHIR.integer"/> - <ns4:element name="sequence" elementType="FHIR.string"/> - <ns4:element name="length" elementType="FHIR.integer"/> - <ns4:element name="sequenceAttachment" elementType="FHIR.Attachment"/> - <ns4:element name="fivePrime" elementType="FHIR.CodeableConcept"/> - <ns4:element name="threePrime" elementType="FHIR.CodeableConcept"/> - <ns4:element name="linkage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceNucleicAcid.Linkage"/> - </ns4:element> - <ns4:element name="sugar"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceNucleicAcid.Sugar"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AuditEventAgentNetworkType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystem.Concept" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.string"/> - <ns4:element name="designation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Designation"/> - </ns4:element> - <ns4:element name="property"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Property1"/> - </ns4:element> - <ns4:element name="concept"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeSystem.Concept"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CommunicationRequest.Payload" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="content"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BackboneElement" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="modifierExtension"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Extension"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExpressionLanguage" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="AddressUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DocumentReference.RelatesTo" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.DocumentRelationshipType"/> - <ns4:element name="target" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Participant" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.TestReportParticipantType"/> - <ns4:element name="uri" elementType="FHIR.uri"/> - <ns4:element name="display" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NutritionOrder" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="instantiates"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.RequestStatus"/> - <ns4:element name="intent" elementType="FHIR.RequestIntent"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="dateTime" elementType="FHIR.dateTime"/> - <ns4:element name="orderer" elementType="FHIR.Reference"/> - <ns4:element name="allergyIntolerance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="foodPreferenceModifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="excludeFoodModifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="oralDiet" elementType="FHIR.NutritionOrder.OralDiet"/> - <ns4:element name="supplement"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.NutritionOrder.Supplement"/> - </ns4:element> - <ns4:element name="enteralFormula" elementType="FHIR.NutritionOrder.EnteralFormula"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Action2" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestScript.Operation"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContactPointUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="DeviceMetricOperationalStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestScript.Action1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="operation" elementType="FHIR.TestScript.Operation"/> - <ns4:element name="assert" elementType="FHIR.TestScript.Assert"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent.Data" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="meaning" elementType="FHIR.ConsentDataMeaning"/> - <ns4:element name="reference" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestGroup.RelatedAction" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="actionId" elementType="FHIR.id"/> - <ns4:element name="relationship" elementType="FHIR.ActionRelationshipType"/> - <ns4:element name="offset"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContributorType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ReferenceVersionRules" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MessageHeader.Response" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier" elementType="FHIR.id"/> - <ns4:element name="code" elementType="FHIR.ResponseType"/> - <ns4:element name="details" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReportStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SearchEntryMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductAuthorization.JurisdictionalAuthorization" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="country" elementType="FHIR.CodeableConcept"/> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="legalStatusOfSupply" elementType="FHIR.CodeableConcept"/> - <ns4:element name="validityPeriod" elementType="FHIR.Period"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ResearchStudy" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="protocol"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ResearchStudyStatus"/> - <ns4:element name="primaryPurposeType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="phase" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="focus"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="relatedArtifact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="keyword"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="enrollment"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="sponsor" elementType="FHIR.Reference"/> - <ns4:element name="principalInvestigator" elementType="FHIR.Reference"/> - <ns4:element name="site"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="reasonStopped" elementType="FHIR.CodeableConcept"/> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="arm"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ResearchStudy.Arm"/> - </ns4:element> - <ns4:element name="objective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ResearchStudy.Objective"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="StructureDefinition.Differential" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="element"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ElementDefinition"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RequestGroup.Action" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="prefix" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="textEquivalent" elementType="FHIR.string"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="documentation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RequestGroup.Condition"/> - </ns4:element> - <ns4:element name="relatedAction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RequestGroup.RelatedAction"/> - </ns4:element> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="groupingBehavior" elementType="FHIR.ActionGroupingBehavior"/> - <ns4:element name="selectionBehavior" elementType="FHIR.ActionSelectionBehavior"/> - <ns4:element name="requiredBehavior" elementType="FHIR.ActionRequiredBehavior"/> - <ns4:element name="precheckBehavior" elementType="FHIR.ActionPrecheckBehavior"/> - <ns4:element name="cardinalityBehavior" elementType="FHIR.ActionCardinalityBehavior"/> - <ns4:element name="resource" elementType="FHIR.Reference"/> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RequestGroup.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationRequest.Substitution" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="allowed"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="reason" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Condition.Evidence" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.SubDetail1" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClaimResponse.Adjudication"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Identifier" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="use" elementType="FHIR.IdentifierUse"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="system" elementType="FHIR.uri"/> - <ns4:element name="value" elementType="FHIR.string"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="assigner" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TestReport.Teardown" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TestReport.Action2"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EpisodeOfCare" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.EpisodeOfCareStatus"/> - <ns4:element name="statusHistory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EpisodeOfCare.StatusHistory"/> - </ns4:element> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EpisodeOfCare.Diagnosis"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="managingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="period" elementType="FHIR.Period"/> - <ns4:element name="referralRequest"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="careManager" elementType="FHIR.Reference"/> - <ns4:element name="team"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="account"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Patient.Communication" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="language" elementType="FHIR.CodeableConcept"/> - <ns4:element name="preferred" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="InsurancePlan.Benefit" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="requirement" elementType="FHIR.string"/> - <ns4:element name="limit"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.InsurancePlan.Limit"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductIngredient.Strength" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="presentation" elementType="FHIR.Ratio"/> - <ns4:element name="presentationLowLimit" elementType="FHIR.Ratio"/> - <ns4:element name="concentration" elementType="FHIR.Ratio"/> - <ns4:element name="concentrationLowLimit" elementType="FHIR.Ratio"/> - <ns4:element name="measurementPoint" elementType="FHIR.string"/> - <ns4:element name="country"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="referenceStrength"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicinalProductIngredient.ReferenceStrength"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SpecimenDefinition" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="typeCollected" elementType="FHIR.CodeableConcept"/> - <ns4:element name="patientPreparation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="timeAspect" elementType="FHIR.string"/> - <ns4:element name="collection"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="typeTested"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SpecimenDefinition.TypeTested"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Diagnosis" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="type"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="onAdmission" elementType="FHIR.CodeableConcept"/> - <ns4:element name="packageCode" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContactDetail" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="unsignedInt" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="NameUse" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstancePolymer" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="class" elementType="FHIR.CodeableConcept"/> - <ns4:element name="geometry" elementType="FHIR.CodeableConcept"/> - <ns4:element name="copolymerConnectivity"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="modification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="monomerSet"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.MonomerSet"/> - </ns4:element> - <ns4:element name="repeat"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstancePolymer.Repeat"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Name" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - <ns4:element name="preferred" elementType="FHIR.boolean"/> - <ns4:element name="language"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="domain"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="synonym"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Name"/> - </ns4:element> - <ns4:element name="translation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Name"/> - </ns4:element> - <ns4:element name="official"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSpecification.Official"/> - </ns4:element> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.Author" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="authorType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="authorDescription" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="LocationMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="integer" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.Integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FHIRSubstanceStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Basic" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="created" elementType="FHIR.date"/> - <ns4:element name="author" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClinicalImpression" retrievable="true" primaryCodePath="code" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ClinicalImpressionStatus"/> - <ns4:element name="statusReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="encounter" elementType="FHIR.Reference"/> - <ns4:element name="effective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="assessor" elementType="FHIR.Reference"/> - <ns4:element name="previous" elementType="FHIR.Reference"/> - <ns4:element name="problem"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="investigation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClinicalImpression.Investigation"/> - </ns4:element> - <ns4:element name="protocol"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="summary" elementType="FHIR.string"/> - <ns4:element name="finding"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ClinicalImpression.Finding"/> - </ns4:element> - <ns4:element name="prognosisCodeableConcept"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="prognosisReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ChargeItem" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="definitionUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="definitionCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.ChargeItemStatus"/> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="occurrence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="performer"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ChargeItem.Performer"/> - </ns4:element> - <ns4:element name="performingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="requestingOrganization" elementType="FHIR.Reference"/> - <ns4:element name="costCenter" elementType="FHIR.Reference"/> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="bodysite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="factorOverride" elementType="FHIR.decimal"/> - <ns4:element name="priceOverride" elementType="FHIR.Money"/> - <ns4:element name="overrideReason" elementType="FHIR.string"/> - <ns4:element name="enterer" elementType="FHIR.Reference"/> - <ns4:element name="enteredDate" elementType="FHIR.dateTime"/> - <ns4:element name="reason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="service"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="product"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="account"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="supportingInformation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireItemOperator" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="HTTPVerb" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CapabilityStatement.SearchParam" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="definition" elementType="FHIR.canonical"/> - <ns4:element name="type" elementType="FHIR.SearchParamType"/> - <ns4:element name="documentation" elementType="FHIR.markdown"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="code"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.code"/> - <ns4:element name="manufacturer" elementType="FHIR.Reference"/> - <ns4:element name="doseForm" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Quantity"/> - <ns4:element name="synonym"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.string"/> - </ns4:element> - <ns4:element name="relatedMedicationKnowledge"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.RelatedMedicationKnowledge"/> - </ns4:element> - <ns4:element name="associatedMedication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="productType"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="monograph"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Monograph"/> - </ns4:element> - <ns4:element name="ingredient"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Ingredient"/> - </ns4:element> - <ns4:element name="preparationInstruction" elementType="FHIR.markdown"/> - <ns4:element name="intendedRoute"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="cost"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Cost"/> - </ns4:element> - <ns4:element name="monitoringProgram"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.MonitoringProgram"/> - </ns4:element> - <ns4:element name="administrationGuidelines"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.AdministrationGuidelines"/> - </ns4:element> - <ns4:element name="medicineClassification"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.MedicineClassification"/> - </ns4:element> - <ns4:element name="packaging" elementType="FHIR.MedicationKnowledge.Packaging"/> - <ns4:element name="drugCharacteristic"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.DrugCharacteristic"/> - </ns4:element> - <ns4:element name="contraindication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="regulatory"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Regulatory"/> - </ns4:element> - <ns4:element name="kinetics"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.MedicationKnowledge.Kinetics"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSpecification.Property" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="parameters" elementType="FHIR.string"/> - <ns4:element name="definingSubstance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="amount"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EpisodeOfCareStatus" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceSourceMaterial.Organism" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="family" elementType="FHIR.CodeableConcept"/> - <ns4:element name="genus" elementType="FHIR.CodeableConcept"/> - <ns4:element name="species" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intraspecificType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="intraspecificDescription" elementType="FHIR.string"/> - <ns4:element name="author"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.SubstanceSourceMaterial.Author"/> - </ns4:element> - <ns4:element name="hybrid" elementType="FHIR.SubstanceSourceMaterial.Hybrid"/> - <ns4:element name="organismGeneral" elementType="FHIR.SubstanceSourceMaterial.OrganismGeneral"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="RemittanceOutcome" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.CareTeam" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="responsible" elementType="FHIR.boolean"/> - <ns4:element name="role" elementType="FHIR.CodeableConcept"/> - <ns4:element name="qualification" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ItemInstance" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="count" elementType="FHIR.integer"/> - <ns4:element name="location" elementType="FHIR.Reference"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="manufactureDate" elementType="FHIR.dateTime"/> - <ns4:element name="expiryDate" elementType="FHIR.dateTime"/> - <ns4:element name="currentSWVersion" elementType="FHIR.string"/> - <ns4:element name="lotNumber" elementType="FHIR.string"/> - <ns4:element name="serialNumber" elementType="FHIR.string"/> - <ns4:element name="carrierAIDC" elementType="FHIR.string"/> - <ns4:element name="carrierHRF" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Parameters" retrievable="false" baseType="FHIR.Resource"> - <ns4:element name="parameter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Parameters.Parameter"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Adjudication" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount" elementType="FHIR.Money"/> - <ns4:element name="value" elementType="FHIR.decimal"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MolecularSequence.Outer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="start" elementType="FHIR.integer"/> - <ns4:element name="end" elementType="FHIR.integer"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.ContainedInstance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="resourceId" elementType="FHIR.string"/> - <ns4:element name="versionId" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="markdown" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ClaimResponse.Error" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="itemSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="detailSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="subDetailSequence" elementType="FHIR.positiveInt"/> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuestionnaireResponse.Answer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="decimal"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="integer"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="time"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Attachment"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Coding"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.QuestionnaireResponse.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TerminologyCapabilities.Software" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="version" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="EligibilityRequestPurpose" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Patient.Link" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="other" elementType="FHIR.Reference"/> - <ns4:element name="type" elementType="FHIR.LinkType"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="QuantityComparator" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Procedure.Performer" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="function" elementType="FHIR.CodeableConcept"/> - <ns4:element name="actor" elementType="FHIR.Reference"/> - <ns4:element name="onBehalfOf" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Claim.Detail" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="subDetail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Claim.SubDetail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationStatement" retrievable="true" primaryCodePath="medication" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="basedOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="partOf"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.MedicationStatusCodes"/> - <ns4:element name="statusReason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="medication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="context" elementType="FHIR.Reference"/> - <ns4:element name="effective"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="dateAsserted" elementType="FHIR.dateTime"/> - <ns4:element name="informationSource" elementType="FHIR.Reference"/> - <ns4:element name="derivedFrom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="dosage"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Dosage"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.MaxDispense" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="period" elementType="FHIR.Duration"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.Item" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="sequence" elementType="FHIR.positiveInt"/> - <ns4:element name="careTeamSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="diagnosisSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="procedureSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="informationSequence"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="revenue" elementType="FHIR.CodeableConcept"/> - <ns4:element name="category" elementType="FHIR.CodeableConcept"/> - <ns4:element name="productOrService" elementType="FHIR.CodeableConcept"/> - <ns4:element name="modifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="programCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="location"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Address"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="quantity" elementType="FHIR.Quantity"/> - <ns4:element name="unitPrice" elementType="FHIR.Money"/> - <ns4:element name="factor" elementType="FHIR.decimal"/> - <ns4:element name="net" elementType="FHIR.Money"/> - <ns4:element name="udi"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="bodySite" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subSite"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="encounter"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="noteNumber"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.positiveInt"/> - </ns4:element> - <ns4:element name="adjudication"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Adjudication"/> - </ns4:element> - <ns4:element name="detail"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExplanationOfBenefit.Detail"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Coding" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="system" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="display" elementType="FHIR.string"/> - <ns4:element name="userSelected" elementType="FHIR.boolean"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MeasureReportType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Period" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="start" elementType="FHIR.dateTime"/> - <ns4:element name="end" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ActionPrecheckBehavior" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Specimen" retrievable="true" primaryCodePath="type" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="accessionIdentifier" elementType="FHIR.Identifier"/> - <ns4:element name="status" elementType="FHIR.SpecimenStatus"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="subject" elementType="FHIR.Reference"/> - <ns4:element name="receivedTime" elementType="FHIR.dateTime"/> - <ns4:element name="parent"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="request"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="collection" elementType="FHIR.Specimen.Collection"/> - <ns4:element name="processing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Specimen.Processing"/> - </ns4:element> - <ns4:element name="container"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Specimen.Container"/> - </ns4:element> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="FamilyMemberHistory" retrievable="true" baseType="FHIR.DomainResource" primaryCodePath="relationship"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="instantiatesCanonical"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.canonical"/> - </ns4:element> - <ns4:element name="instantiatesUri"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.uri"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FamilyHistoryStatus"/> - <ns4:element name="dataAbsentReason" elementType="FHIR.CodeableConcept"/> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="relationship" elementType="FHIR.CodeableConcept"/> - <ns4:element name="sex" elementType="FHIR.CodeableConcept"/> - <ns4:element name="born"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="age"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="estimatedAge" elementType="FHIR.boolean"/> - <ns4:element name="deceased"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="boolean"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="reasonCode"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reasonReference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - <ns4:element name="note"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Annotation"/> - </ns4:element> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.FamilyMemberHistory.Condition"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SampledDataDataType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="PlanDefinition.Action" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="prefix" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="textEquivalent" elementType="FHIR.string"/> - <ns4:element name="priority" elementType="FHIR.RequestPriority"/> - <ns4:element name="code"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="reason"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="documentation"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.RelatedArtifact"/> - </ns4:element> - <ns4:element name="goalId"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.id"/> - </ns4:element> - <ns4:element name="subject"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="trigger"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.TriggerDefinition"/> - </ns4:element> - <ns4:element name="condition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Condition"/> - </ns4:element> - <ns4:element name="input"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement"/> - </ns4:element> - <ns4:element name="output"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.DataRequirement"/> - </ns4:element> - <ns4:element name="relatedAction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.RelatedAction"/> - </ns4:element> - <ns4:element name="timing"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Age"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Duration"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Timing"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="participant"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Participant"/> - </ns4:element> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="groupingBehavior" elementType="FHIR.ActionGroupingBehavior"/> - <ns4:element name="selectionBehavior" elementType="FHIR.ActionSelectionBehavior"/> - <ns4:element name="requiredBehavior" elementType="FHIR.ActionRequiredBehavior"/> - <ns4:element name="precheckBehavior" elementType="FHIR.ActionPrecheckBehavior"/> - <ns4:element name="cardinalityBehavior" elementType="FHIR.ActionCardinalityBehavior"/> - <ns4:element name="definition"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="canonical"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="uri"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="transform" elementType="FHIR.canonical"/> - <ns4:element name="dynamicValue"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.DynamicValue"/> - </ns4:element> - <ns4:element name="action"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.PlanDefinition.Action"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Provenance.Agent" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="role"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="who" elementType="FHIR.Reference"/> - <ns4:element name="onBehalfOf" elementType="FHIR.Reference"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityRequest" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="identifier"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Identifier"/> - </ns4:element> - <ns4:element name="status" elementType="FHIR.FinancialResourceStatusCodes"/> - <ns4:element name="priority" elementType="FHIR.CodeableConcept"/> - <ns4:element name="purpose"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.EligibilityRequestPurpose"/> - </ns4:element> - <ns4:element name="patient" elementType="FHIR.Reference"/> - <ns4:element name="serviced"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="date"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="created" elementType="FHIR.dateTime"/> - <ns4:element name="enterer" elementType="FHIR.Reference"/> - <ns4:element name="provider" elementType="FHIR.Reference"/> - <ns4:element name="insurer" elementType="FHIR.Reference"/> - <ns4:element name="facility" elementType="FHIR.Reference"/> - <ns4:element name="supportingInfo"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityRequest.SupportingInfo"/> - </ns4:element> - <ns4:element name="insurance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityRequest.Insurance"/> - </ns4:element> - <ns4:element name="item"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CoverageEligibilityRequest.Item"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BiologicallyDerivedProduct.Processing" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="description" elementType="FHIR.string"/> - <ns4:element name="procedure" elementType="FHIR.CodeableConcept"/> - <ns4:element name="additive" elementType="FHIR.Reference"/> - <ns4:element name="time"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="dateTime"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Period"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Consent.Verification" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="verified" elementType="FHIR.boolean"/> - <ns4:element name="verifiedWith" elementType="FHIR.Reference"/> - <ns4:element name="verificationDate" elementType="FHIR.dateTime"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CompositionAttestationMode" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExplanationOfBenefit.ProcessNote" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="number" elementType="FHIR.positiveInt"/> - <ns4:element name="type" elementType="FHIR.NoteType"/> - <ns4:element name="text" elementType="FHIR.string"/> - <ns4:element name="language" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicationKnowledge.RelatedMedicationKnowledge" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="reference"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="TypeRestfulInteraction" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide" retrievable="true" baseType="FHIR.DomainResource"> - <ns4:element name="url" elementType="FHIR.uri"/> - <ns4:element name="version" elementType="FHIR.string"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="title" elementType="FHIR.string"/> - <ns4:element name="status" elementType="FHIR.PublicationStatus"/> - <ns4:element name="experimental" elementType="FHIR.boolean"/> - <ns4:element name="date" elementType="FHIR.dateTime"/> - <ns4:element name="publisher" elementType="FHIR.string"/> - <ns4:element name="contact"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactDetail"/> - </ns4:element> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="useContext"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.UsageContext"/> - </ns4:element> - <ns4:element name="jurisdiction"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.CodeableConcept"/> - </ns4:element> - <ns4:element name="copyright" elementType="FHIR.markdown"/> - <ns4:element name="packageId" elementType="FHIR.id"/> - <ns4:element name="license" elementType="FHIR.SPDXLicense"/> - <ns4:element name="fhirVersion"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.FHIRVersion"/> - </ns4:element> - <ns4:element name="dependsOn"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.DependsOn"/> - </ns4:element> - <ns4:element name="global"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ImplementationGuide.Global"/> - </ns4:element> - <ns4:element name="definition" elementType="FHIR.ImplementationGuide.Definition"/> - <ns4:element name="manifest" elementType="FHIR.ImplementationGuide.Manifest"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="MedicinalProductPharmaceutical.Characteristics" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.CodeableConcept"/> - <ns4:element name="status" elementType="FHIR.CodeableConcept"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceReferenceInformation.Target" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="target" elementType="FHIR.Identifier"/> - <ns4:element name="type" elementType="FHIR.CodeableConcept"/> - <ns4:element name="interaction" elementType="FHIR.CodeableConcept"/> - <ns4:element name="organism" elementType="FHIR.CodeableConcept"/> - <ns4:element name="organismType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="amount"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="string"/> - </ns4:elementTypeSpecifier> - </ns4:element> - <ns4:element name="amountType" elementType="FHIR.CodeableConcept"/> - <ns4:element name="source"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.Reference"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CodeSystemHierarchyMeaning" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="UsageContext" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="code" elementType="FHIR.Coding"/> - <ns4:element name="value"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Quantity"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Range"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ImplementationGuide.Template" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="code" elementType="FHIR.code"/> - <ns4:element name="source" elementType="FHIR.string"/> - <ns4:element name="scope" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="vConfidentialityClassification" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ExampleScenario.Instance" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="resourceId" elementType="FHIR.string"/> - <ns4:element name="resourceType" elementType="FHIR.ResourceType"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="description" elementType="FHIR.markdown"/> - <ns4:element name="version"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.Version"/> - </ns4:element> - <ns4:element name="containedInstance"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ExampleScenario.ContainedInstance"/> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="CoverageEligibilityRequest.Diagnosis" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="diagnosis"> - <ns4:elementTypeSpecifier xsi:type="ns4:ChoiceTypeSpecifier"> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="CodeableConcept"/> - <ns4:choice xsi:type="ns4:NamedTypeSpecifier" modelName="FHIR" name="Reference"/> - </ns4:elementTypeSpecifier> - </ns4:element> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Organization.Contact" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="purpose" elementType="FHIR.CodeableConcept"/> - <ns4:element name="name" elementType="FHIR.HumanName"/> - <ns4:element name="telecom"> - <ns4:elementTypeSpecifier xsi:type="ns4:ListTypeSpecifier" elementType="FHIR.ContactPoint"/> - </ns4:element> - <ns4:element name="address" elementType="FHIR.Address"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="ContractResourcePublicationStatusCodes" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="SubstanceNucleicAcid.Linkage" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="connectivity" elementType="FHIR.string"/> - <ns4:element name="identifier" elementType="FHIR.Identifier"/> - <ns4:element name="name" elementType="FHIR.string"/> - <ns4:element name="residueSite" elementType="FHIR.string"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="VisionBase" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="BundleType" retrievable="false" baseType="FHIR.Element"> - <ns4:element name="value" elementType="System.String"/> - </ns4:typeInfo> - <ns4:typeInfo xsi:type="ns4:ClassInfo" name="Bundle.Response" retrievable="false" baseType="FHIR.BackboneElement"> - <ns4:element name="status" elementType="FHIR.string"/> - <ns4:element name="location" elementType="FHIR.uri"/> - <ns4:element name="etag" elementType="FHIR.string"/> - <ns4:element name="lastModified" elementType="FHIR.instant"/> - <ns4:element name="outcome" elementType="FHIR.ResourceContainer"/> - </ns4:typeInfo> - <ns4:conversionInfo fromType="FHIR.Coding" toType="System.Code" functionName="FHIRHelpers.ToCode"/> - <ns4:conversionInfo fromType="FHIR.CodeableConcept" toType="System.Concept" functionName="FHIRHelpers.ToConcept"/> - <ns4:conversionInfo functionName="FHIRHelpers.ToString" fromType="FHIR.base64Binary" toType="System.String" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToBoolean" fromType="FHIR.boolean" toType="System.Boolean" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToDate" fromType="FHIR.date" toType="System.Date" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToDateTime" fromType="FHIR.instant" toType="System.DateTime" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToDateTime" fromType="FHIR.dateTime" toType="System.DateTime" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToDecimal" fromType="FHIR.decimal" toType="System.Decimal" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToInteger" fromType="FHIR.positiveInt" toType="System.Integer" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToInteger" fromType="FHIR.unsignedInt" toType="System.Integer" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToInteger" fromType="FHIR.integer" toType="System.Integer" /> - <ns4:conversionInfo functionName="FHIRHelpers.ToTime" fromType="FHIR.time" toType="System.Time" /> - <ns4:conversionInfo fromType="FHIR.Quantity" toType="System.Quantity" functionName="FHIRHelpers.ToQuantity"/> - <ns4:conversionInfo fromType="FHIR.Period" toType="Interval<System.DateTime>" functionName="FHIRHelpers.ToInterval"/> - <ns4:conversionInfo fromType="FHIR.Range" toType="Interval<System.Quantity>" functionName="FHIRHelpers.ToInterval"/> - <ns4:conversionInfo functionName="FHIRHelpers.ToRatio" fromType="FHIR.Ratio" toType="System.Ratio"/> - <ns4:conversionInfo fromType="FHIR.uuid" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TestScriptRequestMethodCode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SortDirection" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.BiologicallyDerivedProductStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.UnitsOfTime" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AddressType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AllergyIntoleranceCategory" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.IssueSeverity" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CareTeamStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EncounterStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureDefinitionKind" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.PublicationStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FHIRVersion" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CarePlanActivityKind" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapSourceListMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RequestStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.strandType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.QuestionnaireResponseStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SearchComparator" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ChargeItemStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionParticipantType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AllergyIntoleranceType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CarePlanActivityStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.InvoiceStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ClaimProcessingCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RequestResourceType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ParticipationStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceNameType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DocumentMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AssertionOperatorType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DaysOfWeek" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.IssueType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.canonical" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapContextType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FamilyHistoryStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.status" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ExtensionContextType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AssertionResponseTypes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RequestIntent" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.string" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionRequiredBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GraphCompartmentUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.orientationType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AccountStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.IdentifierUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapTargetListMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ExposureState" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TestReportParticipantType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.BindingStrength" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RequestPriority" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ParticipantRequired" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.XPathUsageType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.id" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FilterOperator" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.NamingSystemType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ContractResourceStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResearchSubjectStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapTransform" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResponseType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AggregationMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.sequenceType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SystemRestfulInteraction" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AdverseEventActuality" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SubscriptionChannelType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AssertionDirectionType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CarePlanIntent" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AllergyIntoleranceCriticality" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.PropertyRepresentation" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TriggerType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CompositionStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AppointmentStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MessageSignificanceCategory" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ListMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResearchElementType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ObservationStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResourceType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapGroupTypeMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SupplyRequestStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EncounterLocationStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConditionalDeleteStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.url" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.uri" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.Use" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MedicationRequestStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.IdentityAssuranceLevel" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceMetricColor" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConditionalReadStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AllergyIntoleranceSeverity" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FinancialResourceStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.OperationKind" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SubscriptionStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GoalLifecycleStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ObservationDataType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DocumentReferenceStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.repositoryType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.LocationStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.NoteType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TestReportStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CodeSystemContentMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FHIRDeviceStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ContactPointSystem" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SlotStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.PropertyType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TypeDerivationRule" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GuidanceResponseStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RelatedArtifactType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.oid" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CompartmentType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MedicationRequestIntent" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.InvoicePriceComponentType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceMetricCalibrationState" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GroupType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EnableWhenBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TaskIntent" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ImmunizationEvaluationStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ExampleScenarioActorType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ProvenanceEntityRole" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SpecimenStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RestfulCapabilityMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DetectedIssueSeverity" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.VisionEyes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConsentDataMeaning" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.messageheaderResponseRequest" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GuidePageGeneration" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DocumentRelationshipType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.VariableType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TestReportResult" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConceptMapGroupUnmappedMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ClinicalImpressionStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EligibilityResponsePurpose" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.NarrativeStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ImagingStudyStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EndpointStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.BiologicallyDerivedProductCategory" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResourceVersionPolicy" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionCardinalityBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GroupMeasure" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.NamingSystemIdentifierType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ImmunizationStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MedicationStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DiscriminatorType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapInputMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.LinkageType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ReferenceHandlingPolicy" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ResearchStudyStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AuditEventOutcome" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SpecimenContainedPreference" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionRelationshipType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConstraintSeverity" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EventCapabilityMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CodeSearchSupport" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ObservationRangeCategory" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.UDIEntryType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceMetricCategory" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TestReportActionResult" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CapabilityStatementKind" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EventTiming" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SearchParamType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionGroupingBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.StructureMapModelMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TaskStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.BiologicallyDerivedProductStorageScale" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GraphCompartmentRule" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SlicingRules" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ExplanationOfBenefitStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.GuideParameterCode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CatalogEntryRelationType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.LinkType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConceptMapEquivalence" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AuditEventAction" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SearchModifierCode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EventStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.OperationParameterUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ConsentProvisionType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionConditionKind" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.qualityType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AdministrativeGender" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.QuestionnaireItemType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceMetricCalibrationType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EvidenceVariableType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.code" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionSelectionBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SupplyDeliveryStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DiagnosticReportStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FlagStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SPDXLicense" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ListStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceUseStatementStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AuditEventAgentNetworkType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ExpressionLanguage" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.AddressUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ContactPointUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.DeviceMetricOperationalStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ContributorType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ReferenceVersionRules" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MeasureReportStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SearchEntryMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.NameUse" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.LocationMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.FHIRSubstanceStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.QuestionnaireItemOperator" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.HTTPVerb" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EpisodeOfCareStatus" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.RemittanceOutcome" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.markdown" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.EligibilityRequestPurpose" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.QuantityComparator" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.MeasureReportType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ActionPrecheckBehavior" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.SampledDataDataType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CompositionAttestationMode" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.TypeRestfulInteraction" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.CodeSystemHierarchyMeaning" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.vConfidentialityClassification" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.ContractResourcePublicationStatusCodes" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.VisionBase" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:conversionInfo fromType="FHIR.BundleType" toType="System.String" functionName="FHIRHelpers.ToString"/> - <ns4:contextInfo name="Patient" keyElement="id" birthDateElement="birthDate.value"> - <ns4:contextType name="Patient"/> - </ns4:contextInfo> - <ns4:contextInfo name="Specimen" keyElement="id"> - <ns4:contextType name="Specimen"/> - </ns4:contextInfo> -</ns4:modelInfo> diff --git a/modules/cql/resources/org/hl7/elm_modelinfo/r1/jaxb.properties b/modules/cql/resources/org/hl7/elm_modelinfo/r1/jaxb.properties deleted file mode 100644 index b2979f902..000000000 --- a/modules/cql/resources/org/hl7/elm_modelinfo/r1/jaxb.properties +++ /dev/null @@ -1 +0,0 @@ -javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory diff --git a/modules/cql/src/blaze/cql_translator.clj b/modules/cql/src/blaze/cql_translator.clj index d781ca959..a8f028691 100644 --- a/modules/cql/src/blaze/cql_translator.clj +++ b/modules/cql/src/blaze/cql_translator.clj @@ -2,36 +2,18 @@ (:require [blaze.anomaly :as ba] [blaze.elm.spec] - [clojure.java.io :as io] [jsonista.core :as j]) (:import [org.cqframework.cql.cql2elm - CqlTranslator CqlTranslator$Options - FhirLibrarySourceProvider LibraryManager ModelManager - ModelInfoProvider ModelInfoLoader] - [javax.xml.bind JAXB] - [org.hl7.elm_modelinfo.r1 ModelInfo])) + CqlTranslator CqlTranslatorOptions$Options LibraryManager ModelManager] + [org.cqframework.cql.cql2elm.quick FhirLibrarySourceProvider])) (set! *warn-on-reflection* true) -(defn- load-model-info [name] - (let [res (io/resource name) - ^ModelInfo modelInfo (JAXB/unmarshal res ^Class ModelInfo) - provider (reify ModelInfoProvider (load [_ _] modelInfo))] - (.registerModelInfoProvider (ModelInfoLoader.) provider))) - - -(defn- options [locators?] - (->> (cond-> [CqlTranslator$Options/EnableResultTypes] - locators? - (conj CqlTranslator$Options/EnableLocators)) - (into-array CqlTranslator$Options))) - - -;; Our special model info with Specimen context -(load-model-info "blaze/fhir-modelinfo-4.0.0.xml") +(def ^:private options + (into-array [CqlTranslatorOptions$Options/EnableResultTypes])) (def ^:private json-object-mapper @@ -45,11 +27,11 @@ Returns an anomaly with category :cognitect.anomalies/incorrect in case of errors." - [cql & {:keys [locators?]}] + [cql] (let [model-manager (ModelManager.) library-manager (LibraryManager. model-manager) _ (.registerProvider (.getLibrarySourceLoader library-manager) (FhirLibrarySourceProvider.)) - translator (CqlTranslator/fromText cql model-manager library-manager (options locators?))] + translator (CqlTranslator/fromText cql model-manager library-manager options)] (if-let [errors (seq (.getErrors translator))] (ba/incorrect (apply str (map ex-message errors)) diff --git a/modules/cql/src/blaze/elm/code.clj b/modules/cql/src/blaze/elm/code.clj index 3cd0dc960..15ac0b9e0 100644 --- a/modules/cql/src/blaze/elm/code.clj +++ b/modules/cql/src/blaze/elm/code.clj @@ -1,6 +1,7 @@ (ns blaze.elm.code "Implementation of the code type." (:require + [blaze.elm.concept :as concept] [blaze.elm.protocols :as p])) @@ -27,3 +28,10 @@ "Returns a CQL code with isn't the same as a FHIR code from the database." [system version code] (->Code system version code)) + + +;; 22.21. ToConcept +(extend-protocol p/ToConcept + Code + (to-concept [x] + (concept/to-concept [x]))) diff --git a/modules/cql/src/blaze/elm/compiler/clinical_values.clj b/modules/cql/src/blaze/elm/compiler/clinical_values.clj index 3cfbe7f30..e91c5bc31 100644 --- a/modules/cql/src/blaze/elm/compiler/clinical_values.clj +++ b/modules/cql/src/blaze/elm/compiler/clinical_values.clj @@ -7,8 +7,10 @@ [blaze.anomaly :as ba :refer [throw-anom]] [blaze.elm.code :as code] [blaze.elm.compiler.core :as core] + [blaze.elm.concept :as concept] [blaze.elm.date-time :as date-time] - [blaze.elm.quantity :as quantity])) + [blaze.elm.quantity :as quantity] + [blaze.elm.ratio :as ratio])) (defn- find-code-system-def @@ -71,8 +73,12 @@ ;; 3.6. Concept -;; -;; TODO +(defn- compile-codes [context codes] + (map #(core/compile* context %) codes)) + +(defmethod core/compile* :elm.compiler.type/concept + [context {:keys [codes]}] + (concept/to-concept (compile-codes context codes))) ;; 3.7. ConceptDef @@ -81,8 +87,17 @@ ;; 3.8. ConceptRef -;; -;; TODO +(defn- find-concept-def + "Returns the concept-def with `name` from `library` or nil if not found." + {:arglists '([library name])} + [{{concept-defs :def} :concepts} name] + (some #(when (= name (:name %)) %) concept-defs)) + +(defmethod core/compile* :elm.compiler.type/concept-ref + [{:keys [library] :as context} {:keys [name]}] + (when-let [{codes-refs :code} (find-concept-def library name)] + (->> (map #(core/compile* context (assoc % :type "CodeRef")) codes-refs) + (concept/to-concept)))) ;; 3.9. Quantity @@ -102,8 +117,13 @@ ;; 3.10. Ratio -;; -;; TODO +(defmethod core/compile* :elm.compiler.type/ratio + [_ {:keys [numerator denominator]}] + (ratio/ratio (quantity/quantity (:value numerator) (or (:unit numerator) + "1")) + (quantity/quantity (:value denominator) (or (:unit denominator) + "1")))) + ;; 3.11. ValueSetDef ;; diff --git a/modules/cql/src/blaze/elm/compiler/external_data.clj b/modules/cql/src/blaze/elm/compiler/external_data.clj index 0693b3c5a..4148dcc99 100644 --- a/modules/cql/src/blaze/elm/compiler/external_data.clj +++ b/modules/cql/src/blaze/elm/compiler/external_data.clj @@ -7,9 +7,13 @@ [blaze.anomaly :as ba :refer [if-ok]] [blaze.db.api :as d] [blaze.elm.compiler.core :as core] + [blaze.elm.compiler.structured-values] [blaze.elm.spec] [blaze.elm.util :as elm-util] - [clojure.string :as str])) + [clojure.string :as str]) + (:import + [blaze.elm.compiler.structured_values SourcePropertyExpression] + [java.util List])) (set! *warn-on-reflection* true) @@ -35,6 +39,20 @@ (str system "|" code)) +(defprotocol ToClauses + (-to-clauses [x property])) + + +(extend-protocol ToClauses + List + (-to-clauses [codes property] + [(into [property] (map code->clause-value) codes)]) + + SourcePropertyExpression + (-to-clauses [codes property] + (-to-clauses (core/-eval codes nil nil nil) property))) + + (defn- code-expr "Returns an expression which, when evaluated, returns all resources of type `data-type` which have a code equivalent to `code` at `property` and are @@ -45,9 +63,9 @@ Example: * data-type - \"Observation\" * property - \"code\" - * code - (code/to-code \"http://loinc.org\" nil \"39156-5\")" + * codes - [(code/to-code \"http://loinc.org\" nil \"39156-5\")]" [node context data-type property codes] - (let [clauses [(into [property] (map code->clause-value) codes)] + (let [clauses (-to-clauses codes property) query (d/compile-compartment-query node context data-type clauses)] (->CompartmentQueryRetrieveExpression query data-type clauses))) diff --git a/modules/cql/src/blaze/elm/compiler/library.clj b/modules/cql/src/blaze/elm/compiler/library.clj index 573b1f408..d5d6b9022 100644 --- a/modules/cql/src/blaze/elm/compiler/library.clj +++ b/modules/cql/src/blaze/elm/compiler/library.clj @@ -44,7 +44,7 @@ (defn- expression-defs [context library] (transduce - (comp (filter (comp nil? :type)) + (comp (filter (comp #{"ExpressionDef"} :type)) (map (partial compile-expression-def context)) (halt-when ba/anomaly?)) (completing diff --git a/modules/cql/src/blaze/elm/compiler/reusing_logic.clj b/modules/cql/src/blaze/elm/compiler/reusing_logic.clj index bf18f3868..60a90f59d 100644 --- a/modules/cql/src/blaze/elm/compiler/reusing_logic.clj +++ b/modules/cql/src/blaze/elm/compiler/reusing_logic.clj @@ -48,7 +48,7 @@ (defn- find-expression-def [library name] (when-let [def (find-def library name)] - (when (nil? (:type def)) + (when (= "ExpressionDef" (:type def)) def))) diff --git a/modules/cql/src/blaze/elm/compiler/type_operators.clj b/modules/cql/src/blaze/elm/compiler/type_operators.clj index 85ea6911a..d89f98f25 100644 --- a/modules/cql/src/blaze/elm/compiler/type_operators.clj +++ b/modules/cql/src/blaze/elm/compiler/type_operators.clj @@ -190,7 +190,11 @@ (some? (p/to-quantity operand)))) -;; TODO 22.14. ConvertsToRatio +;; 22.14. ConvertsToRatio +(defunop converts-to-ratio [operand] + (when (some? operand) + (some? (p/to-ratio operand)))) + ;; 22.15. ConvertsToString (defunop converts-to-string [operand] @@ -293,12 +297,16 @@ (p/to-boolean x)) -;; TODO 22.20. ToChars +;; 22.20. ToChars (defunop to-chars [operand] (when (string? operand) (map str operand))) -;; TODO 22.21. ToConcept + +;; 22.21. ToConcept +(defunop to-concept [x] + (p/to-concept x)) + ;; 22.22. ToDate (defrecord ToDateOperatorExpression [operand] @@ -355,7 +363,10 @@ (p/to-quantity x)) -;; TODO 22.29. ToRatio +;; 22.29. ToRatio +(defunop to-ratio [x] + (p/to-ratio x)) + ;; 22.30. ToString (defunop to-string [x] diff --git a/modules/cql/src/blaze/elm/concept.clj b/modules/cql/src/blaze/elm/concept.clj new file mode 100644 index 000000000..9ddfe3a21 --- /dev/null +++ b/modules/cql/src/blaze/elm/concept.clj @@ -0,0 +1,16 @@ +(ns blaze.elm.concept + "Implementation of the concept type." + (:require + [blaze.elm.protocols :as p])) + + +(defrecord Concept [codes] + p/Equivalent + ; todo + ) + + +(defn to-concept + "Returns a CQL concept" + [codes] + (->Concept codes)) diff --git a/modules/cql/src/blaze/elm/deps_infer.clj b/modules/cql/src/blaze/elm/deps_infer.clj index 08018f3d6..cf0dbfbf3 100644 --- a/modules/cql/src/blaze/elm/deps_infer.clj +++ b/modules/cql/src/blaze/elm/deps_infer.clj @@ -640,6 +640,10 @@ (derive :elm.deps.type/converts-to-quantity :elm.deps.type/unary-expression) +;; 22.14. ConvertsToRatio +(derive :elm.deps.type/converts-to-ratio :elm.deps.type/unary-expression) + + ;; 22.15. ConvertsToString (derive :elm.deps.type/converts-to-string :elm.deps.type/unary-expression) @@ -656,6 +660,10 @@ (derive :elm.deps.type/to-chars :elm.deps.type/unary-expression) +;; 22.21. ToConcept +(derive :elm.deps.type/to-concept :elm.deps.type/unary-expression) + + ;; 22.22. ToDate (derive :elm.deps.type/to-date :elm.deps.type/unary-expression) @@ -684,6 +692,10 @@ (derive :elm.deps.type/to-quantity :elm.deps.type/unary-expression) +;; 22.29. ToRatio +(derive :elm.deps.type/to-ratio :elm.deps.type/unary-expression) + + ;; 22.30. ToString (derive :elm.deps.type/to-string :elm.deps.type/unary-expression) diff --git a/modules/cql/src/blaze/elm/list.clj b/modules/cql/src/blaze/elm/list.clj index f85a5bcbf..6e18b5871 100644 --- a/modules/cql/src/blaze/elm/list.clj +++ b/modules/cql/src/blaze/elm/list.clj @@ -2,6 +2,7 @@ "Implementation of the list type." (:require [blaze.anomaly :as ba :refer [throw-anom]] + [blaze.elm.concept :as concept] [blaze.elm.protocols :as p]) (:import [clojure.lang PersistentVector IReduceInit])) @@ -182,3 +183,10 @@ IReduceInit (singleton-from [list] (p/singleton-from (.reduce list ((take 2) conj) [])))) + + +;; 22.21. ToConcept +(extend-protocol p/ToConcept + PersistentVector + (to-concept [x] + (concept/to-concept x))) diff --git a/modules/cql/src/blaze/elm/nil.clj b/modules/cql/src/blaze/elm/nil.clj index 82e17c558..57924e19a 100644 --- a/modules/cql/src/blaze/elm/nil.clj +++ b/modules/cql/src/blaze/elm/nil.clj @@ -284,6 +284,12 @@ (to-boolean [_])) +;; 22.21. ToConcept +(extend-protocol p/ToConcept + nil + (to-concept [_])) + + ;; 22.22. ToDate (extend-protocol p/ToDate nil @@ -320,6 +326,12 @@ (to-quantity [_])) +;; 22.29. ToRatio +(extend-protocol p/ToRatio + nil + (to-ratio [_])) + + ;; 22.30. ToString (extend-protocol p/ToString nil diff --git a/modules/cql/src/blaze/elm/normalizer.clj b/modules/cql/src/blaze/elm/normalizer.clj index 5d65954b8..fa1656c91 100644 --- a/modules/cql/src/blaze/elm/normalizer.clj +++ b/modules/cql/src/blaze/elm/normalizer.clj @@ -450,6 +450,10 @@ (derive :elm.normalizer.type/converts-to-quantity :elm.normalizer.type/unary-expression) +;; 22.14. ConvertsToRatio +(derive :elm.normalizer.type/converts-to-ratio :elm.normalizer.type/unary-expression) + + ;; 22.15. ConvertsToString (derive :elm.normalizer.type/converts-to-string :elm.normalizer.type/unary-expression) @@ -494,6 +498,10 @@ (derive :elm.normalizer.type/to-quantity :elm.normalizer.type/unary-expression) +;; 22.29. ToRatio +(derive :elm.normalizer.type/to-ratio :elm.normalizer.type/unary-expression) + + ;; 22.30. ToString (derive :elm.normalizer.type/to-string :elm.normalizer.type/unary-expression) diff --git a/modules/cql/src/blaze/elm/protocols.clj b/modules/cql/src/blaze/elm/protocols.clj index 142909bd7..dc2b26888 100644 --- a/modules/cql/src/blaze/elm/protocols.clj +++ b/modules/cql/src/blaze/elm/protocols.clj @@ -265,6 +265,11 @@ (to-boolean [x])) +;; 22.21. ToConcept +(defprotocol ToConcept + (to-concept [x])) + + ;; 22.22. ToDate (defprotocol ToDate "Converts an object into something usable as Date relative to `now`. @@ -305,6 +310,11 @@ (to-quantity [x])) +;; 22.29. ToRatio +(defprotocol ToRatio + (to-ratio [x])) + + ;; 22.30. ToString (defprotocol ToString (to-string [x])) diff --git a/modules/cql/src/blaze/elm/ratio.clj b/modules/cql/src/blaze/elm/ratio.clj new file mode 100644 index 000000000..00ef8317e --- /dev/null +++ b/modules/cql/src/blaze/elm/ratio.clj @@ -0,0 +1,54 @@ +(ns blaze.elm.ratio + "Implementation of the ratio type. + Section numbers are according to + https://cql.hl7.org/04-logicalspecification.html." + (:require + [blaze.elm.protocols :as p] + [clojure.string :as str])) + + +(set! *warn-on-reflection* true) + + +(defrecord Ratio [numerator denominator] + p/Equal + (equal [_ other] + (and (p/equal numerator (:numerator other)) + (p/equal denominator (:denominator other)))) + + p/Equivalent + (equivalent [_ other] + (if other + (p/equal (p/divide numerator denominator) + (p/divide (:numerator other) (:denominator other))) + false))) + + +(defn ratio + "Creates a ratio between two quantities." + [numerator denominator] + (->Ratio numerator denominator)) + + +;; 22.28. ToQuantity +(extend-protocol p/ToQuantity + Ratio + (to-quantity [x] + (p/divide (:denominator x) (:numerator x)))) + + +;; 22.29. ToRatio +(extend-protocol p/ToRatio + String + (to-ratio [s] + (let [[numerator denominator] (str/split s #":" 2)] + (when-let [numerator (p/to-quantity numerator)] + (when-let [denominator (p/to-quantity denominator)] + (ratio numerator denominator)))))) + + +;; 22.30. ToString +(extend-protocol p/ToString + Ratio + (to-string [x] + (str (p/to-string (:numerator x)) ":" (p/to-string (:denominator x))))) diff --git a/modules/cql/src/blaze/elm/spec.clj b/modules/cql/src/blaze/elm/spec.clj index daba6ea62..8047492fc 100644 --- a/modules/cql/src/blaze/elm/spec.clj +++ b/modules/cql/src/blaze/elm/spec.clj @@ -284,11 +284,13 @@ (s/def :elm.code/display string?) - -(defmethod expression :elm.spec.type/code [_] +(s/def :elm/code (s/keys :req-un [:elm.code/system :elm.code/code] :opt-un [:elm.code/display])) +(defmethod expression :elm.spec.type/code [_] + :elm/code) + ;; 3.2. CodeDef (s/def :elm.code-def/codeSystem @@ -301,10 +303,14 @@ ;; 3.3. CodeRef -(defmethod expression :elm.spec.type/code-ref [_] +(s/def :elm/code-ref (s/keys :opt-un [:elm/name :elm/libraryName])) +(defmethod expression :elm.spec.type/code-ref [_] + :elm/code-ref) + + ;; 3.4. CodeSystemDef (s/def :elm/code-system-def (s/keys :req-un [:elm/name :elm/id] @@ -316,6 +322,38 @@ :elm/code-system-ref) +;; 3.6. Concept +(s/def :elm.concept/codes + (s/coll-of :elm/code)) + + +(s/def :elm.concept/display + string?) + + +(defmethod expression :elm.spec.type/concept [_] + (s/keys :req-un [:elm.concept/codes] + :opt-un [:elm.concept/display])) + + +;; 3.7. ConceptDef +(s/def :elm.concept-def/code + (s/coll-of :elm/code-ref)) + + +(s/def :elm/concept-def + (s/keys :req-un [:elm/name :elm.concept-def/code])) + + +;; 3.8. ConceptRef +(s/def :elm/concept-ref + (s/keys :opt-un [:elm/name :elm/libraryName])) + + +(defmethod expression :elm.spec.type/concept-ref [_] + :elm/concept-ref) + + ;; 3.9. Quantity (s/def :elm.quantity/type #{"Quantity"}) @@ -402,6 +440,27 @@ :elm.quantity.temporal-keyword/unit hours-unit-gen}))) +;; 3.10. Ratio +(s/def :elm.ratio/type + #{"Ratio"}) + + +(s/def :elm.ratio/numerator + :elm/quantity) + + +(s/def :elm.ratio/denominator + :elm/quantity) + + +(s/def :elm/ratio + (s/keys + :req-un [:elm.ratio/type :elm.ratio/numerator :elm.ratio/denominator])) + + +(defmethod expression :elm.spec.type/ratio [_] + :elm/ratio) + ;; 4. Type Specifiers @@ -518,6 +577,14 @@ (s/keys :req-un [:elm.library.codes/def])) +(s/def :elm.library.concepts/def + (s/coll-of :elm/concept-def)) + + +(s/def :elm.library/concepts + (s/keys :req-un [:elm.library.concepts/def])) + + (s/def :elm.library.statements/def (s/coll-of :elm/expression-def)) @@ -530,6 +597,7 @@ (s/keys :req-un [:elm.library/identifier :elm.library/schemaIdentifier] :opt-un [:elm.library/codeSystems :elm.library/codes + :elm.library/concepts :elm.library/statements])) diff --git a/modules/cql/test/blaze/elm/compiler/clinical_values_test.clj b/modules/cql/test/blaze/elm/compiler/clinical_values_test.clj index e036f8c87..c811064e9 100644 --- a/modules/cql/test/blaze/elm/compiler/clinical_values_test.clj +++ b/modules/cql/test/blaze/elm/compiler/clinical_values_test.clj @@ -10,10 +10,12 @@ [blaze.elm.compiler.clinical-values] [blaze.elm.compiler.core :as core] [blaze.elm.compiler.test-util :as tu] + [blaze.elm.concept-spec] [blaze.elm.date-time :as date-time] [blaze.elm.literal] [blaze.elm.literal-spec] [blaze.elm.quantity :as quantity] + [blaze.elm.ratio :as ratio] [blaze.test-util :refer [satisfies-prop]] [clojure.spec.alpha :as s] [clojure.spec.test.alpha :as st] @@ -23,6 +25,7 @@ [juxt.iota :refer [given]]) (:import [blaze.elm.code Code] + [blaze.elm.concept Concept] [blaze.elm.date_time Period])) @@ -135,7 +138,136 @@ ;; 3.6. Concept ;; ;; The Concept type represents a literal concept selector. -;; TODO +(deftest compile-concept-test + (testing "without version and one code" + (let [context + {:library + {:codeSystems + {:def [{:name "sys-def-115852" :id "system-115910"}]}}}] + (given + (c/compile context #elm/concept [[#elm/code ["sys-def-115852" "code-115927"]]]) + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-115910" + [:codes 0 :code] := "code-115927"))) + + (testing "without version and two codes" + (let [context + {:library + {:codeSystems + {:def [{:name "sys-def-115852" :id "system-115910"} + {:name "sys-def-115853" :id "system-115911"}]}}}] + (given + (c/compile context #elm/concept [[#elm/code ["sys-def-115852" "code-115927"] + #elm/code ["sys-def-115853" "code-115928"]]]) + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-115910" + [:codes 0 :code] := "code-115927" + [:codes 1 type] := Code + [:codes 1 :system] := "system-115911" + [:codes 1 :code] := "code-115928"))) + + (testing "with version and one code" + (let [context + {:library + {:codeSystems + {:def + [{:name "sys-def-120434" + :id "system-120411" + :version "version-120408"}]}}}] + (given + (c/compile context #elm/concept [[#elm/code ["sys-def-120434" "code-115927"]]]) + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-120411" + [:codes 0 :version] := "version-120408" + [:codes 0 :code] := "code-115927"))) + + (testing "with version and two codes" + (let [context + {:library + {:codeSystems + {:def + [{:name "sys-def-120434" + :id "system-120411" + :version "version-120408"} + {:name "sys-def-115853" + :id "system-115911" + :version "version-115909"}]}}}] + (given + (c/compile context #elm/concept [[#elm/code ["sys-def-120434" "code-115927"] + #elm/code ["sys-def-115853" "code-115928"]]]) + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-120411" + [:codes 0 :version] := "version-120408" + [:codes 0 :code] := "code-115927" + [:codes 1 type] := Code + [:codes 1 :system] := "system-115911" + [:codes 1 :version] := "version-115909" + [:codes 1 :code] := "code-115928")))) + + +;; 3.8. ConceptRef +;; +;; The ConceptRef expression allows a previously defined concept to be +;; referenced within an expression. +(deftest compile-concept-ref-test + (testing "with one code" + (let [context + {:library + {:codeSystems + {:def + [{:name "sys-def-125149" + :id "system-name-125213"}]} + :codes + {:def + [{:name "code-def-125054" + :id "code-125354" + :codeSystem {:name "sys-def-125149"}}]} + :concepts + {:def + [{:name "concept-def-125054" + :code + [{:name "code-def-125054"}]}]}}}] + (given (c/compile context #elm/concept-ref "concept-def-125054") + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-name-125213" + [:codes 0 :code] := "code-125354"))) + + (testing "with two codes" + (let [context + {:library + {:codeSystems + {:def + [{:name "sys-def-125149" + :id "system-name-125213"} + {:name "sys-def-162523" + :id "system-name-125214"}]} + :codes + {:def + [{:name "code-def-125054" + :id "code-125354" + :codeSystem {:name "sys-def-125149"}} + {:name "code-def-125055" + :id "code-125355" + :codeSystem {:name "sys-def-162523"}}]} + :concepts + {:def + [{:name "concept-def-125055" + :code + [{:name "code-def-125054"} + {:name "code-def-125055"}]}]}}}] + (given (c/compile context #elm/concept-ref "concept-def-125055") + type := Concept + [:codes 0 type] := Code + [:codes 0 :system] := "system-name-125213" + [:codes 0 :code] := "code-125354" + [:codes 1 type] := Code + [:codes 1 :system] := "system-name-125214" + [:codes 1 :code] := "code-125355")))) ;; 3.9. Quantity @@ -171,3 +303,22 @@ (satisfies-prop 100 (prop/for-all [period (s/gen :elm/period)] (#{BigDecimal Period} (type (core/-eval (c/compile {} period) {} nil nil))))))) + + +;; 3.10. Ratio +;; +;; The Ratio type defines a ratio between two quantities. For example, the +;; titre 1:128, or the concentration ratio 5 mg/10 mL. The numerator and +;; denominator are both quantities. +(deftest compile-ratio-test + (testing "Examples" + (are [elm res] (= res (c/compile {} elm)) + #elm/ratio [[1 "s"] [1 "s"]] (ratio/ratio (quantity/quantity 1 "s") (quantity/quantity 1 "s")) + #elm/ratio [[1 ""] [128 ""]] (ratio/ratio (quantity/quantity 1 "") (quantity/quantity 128 "")) + #elm/ratio [[1 "s"] [1 ""]] (ratio/ratio (quantity/quantity 1 "s") (quantity/quantity 1 "")) + #elm/ratio [[1 ""] [1 "s"]] (ratio/ratio (quantity/quantity 1 "") (quantity/quantity 1 "s")) + #elm/ratio [[1 "cm2"] [1 "s"]] (ratio/ratio (quantity/quantity 1 "cm2") (quantity/quantity 1 "s")) + #elm/ratio [[1] [1]] (ratio/ratio (quantity/quantity 1 "") (quantity/quantity 1 "")) + #elm/ratio [[1] [1 "s"]] (ratio/ratio (quantity/quantity 1 "") (quantity/quantity 1 "s")) + #elm/ratio [[1 "s"] [1]] (ratio/ratio (quantity/quantity 1 "s") (quantity/quantity 1 "")) + #elm/ratio [[5 "mg"] [10 "g"]] (ratio/ratio (quantity/quantity 5 "mg") (quantity/quantity 10 "g"))))) diff --git a/modules/cql/test/blaze/elm/compiler/comparison_operators_test.clj b/modules/cql/test/blaze/elm/compiler/comparison_operators_test.clj index 79e5cd6d2..127e1b47a 100644 --- a/modules/cql/test/blaze/elm/compiler/comparison_operators_test.clj +++ b/modules/cql/test/blaze/elm/compiler/comparison_operators_test.clj @@ -132,7 +132,22 @@ (tu/testing-binary-null elm/equal #elm/quantity [1])) - ;; TODO: Ratio + (testing "Ratio" + (are [x y res] (= res (tu/compile-binop elm/equal elm/ratio x y)) + [[1] [1]] [[1] [1]] true + [[1] [1]] [[2] [1]] false + [[1] [100]] [[10] [1000]] false + + [[1 "s"] [1 "s"]] [[1 "s"] [1 "s"]] true + [[1 "m"] [1 "m"]] [[1 "m"] [1 "m"]] true + [[100 "cm"] [100 "cm"]] [[1 "m"] [1 "m"]] true + [[1 "s"] [1 "s"]] [[1 "s"] [2 "s"]] false + [[1 "s"] [1 "s"]] [[2 "s"] [2 "s"]] false + [[2 "s"] [1 "s"]] [[1 "s"] [2 "s"]] false + [[1 "s"] [1 "s"]] [[1 "m"] [1 "m"]] false + [[1 "s"] [1 "m"]] [[1 "m"] [1 "s"]] false) + + (tu/testing-binary-null elm/equal #elm/ratio [[1] [1]])) (testing "Tuple" (are [x y res] (= res (tu/compile-binop elm/equal elm/tuple x y)) @@ -297,61 +312,97 @@ {:type "Null"} {:type "Null"} true)) (testing "Boolean" - (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) - #elm/boolean "true" #elm/boolean "true" true - #elm/boolean "true" #elm/boolean "false" false + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/boolean x y)) + "true" "true" true + "true" "false" false) + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) {:type "Null"} #elm/boolean "true" false #elm/boolean "true" {:type "Null"} false)) (testing "Integer" - (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) - #elm/integer "1" #elm/integer "1" true - #elm/integer "1" #elm/integer "2" false + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/integer x y)) + "1" "1" true + "1" "2" false + "2" "1" false) + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) {:type "Null"} #elm/integer "1" false #elm/integer "1" {:type "Null"} false)) (testing "Decimal" - (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) - #elm/decimal "1.1" #elm/decimal "1.1" true - #elm/decimal "1.1" #elm/decimal "2.1" false + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/decimal x y)) + "1.1" "1.1" true + "1.1" "2.1" false + "2.1" "1.1" false + + "1.1" "1.10" true + "1.10" "1.1" true) + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) {:type "Null"} #elm/decimal "1.1" false #elm/decimal "1.1" {:type "Null"} false)) (testing "Mixed Integer Decimal" - (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) + (are [x y res] (= res (c/compile {} (elm/equivalent [x y]))) #elm/integer "1" #elm/decimal "1" true #elm/decimal "1" #elm/integer "1" true)) (testing "Quantity" - (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) - #elm/quantity [1] #elm/quantity [1] true - #elm/quantity [1] #elm/quantity [2] false + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/quantity x y)) + [1] [1] true + [1] [2] false - #elm/quantity [1 "s"] #elm/quantity [1 "s"] true - #elm/quantity [1 "m"] #elm/quantity [1 "m"] true - #elm/quantity [100 "cm"] #elm/quantity [1 "m"] true - #elm/quantity [1 "s"] #elm/quantity [2 "s"] false - #elm/quantity [1 "s"] #elm/quantity [1 "m"] false + [1 "s"] [1 "s"] true + [1 "m"] [1 "m"] true + [100 "cm"] [1 "m"] true + [1 "s"] [2 "s"] false + [1 "s"] [1 "m"] false) + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) {:type "Null"} #elm/quantity [1] false #elm/quantity [1] {:type "Null"} false {:type "Null"} #elm/quantity [1 "s"] false #elm/quantity [1 "s"] {:type "Null"} false)) - (testing "List" + (testing "Ratio" + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/ratio x y)) + [[1] [1]] [[1] [1]] true + [[1] [100]] [[10] [1000]] true + [[1] [1]] [[2] [1]] false + + [[1 "s"] [1 "s"]] [[1 "s"] [1 "s"]] true + [[1 "s"] [1 "s"]] [[1 "m"] [1 "m"]] true + [[1 "s"] [100 "s"]] [[10 "s"] [1000 "s"]] true + [[1 "s"] [1 "s"]] [[2 "s"] [2 "s"]] true + [[1 "m"] [1 "m"]] [[1 "m"] [1 "m"]] true + [[100 "cm"] [100 "cm"]] [[1 "m"] [1 "m"]] true + [[1000 "cm"] [100000 "cm"]] [[10 "m"] [1000 "m"]] true + [[100 "cm"] [1 "m"]] [[100 "cm"] [1 "m"]] true + [[1 "s"] [1 "s"]] [[1 "s"] [2 "s"]] false + [[2 "s"] [1 "s"]] [[1 "s"] [2 "s"]] false + [[1 "s"] [1 "m"]] [[1 "m"] [1 "s"]] false + [[1 "s"] [1 "s"]] [[1 "m"] [1 "s"]] false) + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) - #elm/list [#elm/integer "1"] #elm/list [#elm/integer "1"] true - #elm/list [] #elm/list [] true + {:type "Null"} #elm/ratio [[1] [1]] false + #elm/ratio [[1] [1]] {:type "Null"} false - #elm/list [#elm/integer "1"] #elm/list [] false - #elm/list [#elm/integer "1"] #elm/list [#elm/integer "2"] false - #elm/list [#elm/integer "1" #elm/integer "1"] - #elm/list [#elm/integer "1" #elm/integer "2"] false + {:type "Null"} #elm/ratio [[1 "s"] [1 "s"]] false + #elm/ratio [[1 "s"] [1 "s"]] {:type "Null"} false)) + (testing "List" + (are [x y res] (= res (tu/compile-binop elm/equivalent elm/list x y)) + [#elm/integer "1"] [#elm/integer "1"] true + [] [] true + + [#elm/integer "1"] [] false + [#elm/integer "1"] [#elm/integer "2"] false + [#elm/integer "1" #elm/integer "1"] + [#elm/integer "1" #elm/integer "2"] false) + + (are [x y res] (= res (core/-eval (c/compile {} (elm/equivalent [x y])) {} nil nil)) #elm/list [#elm/integer "1" {:type "Null"}] #elm/list [#elm/integer "1" {:type "Null"}] true #elm/list [{:type "Null"}] #elm/list [{:type "Null"}] true diff --git a/modules/cql/test/blaze/elm/compiler/external_data_test.clj b/modules/cql/test/blaze/elm/compiler/external_data_test.clj index 129077f8f..8f8319d46 100644 --- a/modules/cql/test/blaze/elm/compiler/external_data_test.clj +++ b/modules/cql/test/blaze/elm/compiler/external_data_test.clj @@ -190,6 +190,58 @@ db (d/db node) patient (d/resource-handle db "Patient" "0")] + (given (core/-eval expr {:db db} patient nil) + count := 2 + [0 fhir-spec/fhir-type] := :fhir/Observation + [0 :id] := "1" + [1 fhir-spec/fhir-type] := :fhir/Observation + [1 :id] := "2")))) + + (testing "with one concept" + (with-system-data [{:blaze.db/keys [node]} mem-node-system] + [[[:put {:fhir/type :fhir/Patient :id "0"}] + [:put {:fhir/type :fhir/Observation :id "0" + :subject + #fhir/Reference{:reference "Patient/0"}}] + [:put {:fhir/type :fhir/Observation :id "1" + :code + #fhir/CodeableConcept + {:coding + [#fhir/Coding + {:system #fhir/uri"system-192253" + :code #fhir/code"code-192300"}]} + :subject + #fhir/Reference{:reference "Patient/0"}}] + [:put {:fhir/type :fhir/Observation :id "2" + :code + #fhir/CodeableConcept + {:coding + [#fhir/Coding + {:system #fhir/uri"system-192253" + :code #fhir/code"code-140541"}]} + :subject + #fhir/Reference{:reference "Patient/0"}}]]] + + (let [context + {:node node + :eval-context "Patient" + :library + {:codeSystems + {:def + [{:name "sys-def-131750" + :id "system-192253"}]}}} + elm #elm/retrieve + {:type "Observation" + :codes + {:type "Property" + :path "codes" + :source #elm/concept + [[#elm/code ["sys-def-131750" "code-192300"] + #elm/code ["sys-def-131750" "code-140541"]]]}} + expr (c/compile context elm) + db (d/db node) + patient (d/resource-handle db "Patient" "0")] + (given (core/-eval expr {:db db} patient nil) count := 2 [0 fhir-spec/fhir-type] := :fhir/Observation @@ -275,7 +327,8 @@ {:def [{:name "sys-def-174848" :id "system-174915"}]} :statements {:def - [{:name "name-174207" + [{:type "ExpressionDef" + :name "name-174207" :resultTypeName "{http://hl7.org/fhir}Patient"}]}} elm #elm/retrieve {:type "Observation" @@ -292,7 +345,8 @@ {:def [{:name "sys-def-174848" :id "system-174915"}]} :statements {:def - [{:name "name-174207" + [{:type "ExpressionDef" + :name "name-174207" :resultTypeName "{http://hl7.org/fhir}Patient"}]}} elm #elm/retrieve {:type "Observation" diff --git a/modules/cql/test/blaze/elm/compiler/reusing_logic_test.clj b/modules/cql/test/blaze/elm/compiler/reusing_logic_test.clj index e16680f36..fba991445 100644 --- a/modules/cql/test/blaze/elm/compiler/reusing_logic_test.clj +++ b/modules/cql/test/blaze/elm/compiler/reusing_logic_test.clj @@ -47,17 +47,21 @@ :context := {})) (testing "Result Type" - (let [library {:statements {:def [{:name "name-170312" :resultTypeName "result-type-name-173029"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "name-170312" + :resultTypeName "result-type-name-173029"}]}} expr (c/compile {:library library} #elm/expression-ref "name-170312")] (is (= "result-type-name-173029" (:result-type-name (meta expr)))))) (testing "Eval" - (let [library {:statements {:def [{:name "name-170312"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "name-170312"}]}} expr (c/compile {:library library} #elm/expression-ref "name-170312")] (is (= ::result (core/-eval expr {:expression-defs {"name-170312" {:expression ::result}}} nil nil))))) (testing "form" - (let [library {:statements {:def [{:name "name-170312"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "name-170312"}]}} expr (c/compile {:library library} #elm/expression-ref "name-170312")] (is (= '(expr-ref "name-170312") (core/-form expr)))))) diff --git a/modules/cql/test/blaze/elm/compiler/structured_values_test.clj b/modules/cql/test/blaze/elm/compiler/structured_values_test.clj index d6d75b9dd..99597fa8e 100644 --- a/modules/cql/test/blaze/elm/compiler/structured_values_test.clj +++ b/modules/cql/test/blaze/elm/compiler/structured_values_test.clj @@ -215,7 +215,8 @@ (testing "with source" (testing "Patient.identifier" (testing "with source-type" - (let [library {:statements {:def [{:name "Patient"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Patient"}]}} elm {:path "identifier" :source #elm/expression-ref "Patient" @@ -236,7 +237,8 @@ (is (= '(:identifier (expr-ref "Patient")) (core/-form expr)))))) (testing "without source-type" - (let [library {:statements {:def [{:name "Patient"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Patient"}]}} elm {:path "identifier" :source #elm/expression-ref "Patient" @@ -254,7 +256,8 @@ (testing "Patient.gender" (testing "with source-type" - (let [library {:statements {:def [{:name "Patient"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Patient"}]}} elm {:path "gender" :source #elm/expression-ref "Patient" @@ -268,7 +271,8 @@ (is (= #fhir/code"male" result)))) (testing "without source-type" - (let [library {:statements {:def [{:name "Patient"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Patient"}]}} elm {:path "gender" :source #elm/expression-ref "Patient" @@ -282,7 +286,8 @@ (testing "Observation.value" (testing "with source-type" - (let [library {:statements {:def [{:name "Observation"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Observation"}]}} elm {:path "value" :source #elm/expression-ref "Observation" @@ -296,7 +301,8 @@ (is (= "value-114318" result)))) (testing "without source-type" - (let [library {:statements {:def [{:name "Observation"}]}} + (let [library {:statements {:def [{:type "ExpressionDef" + :name "Observation"}]}} elm {:path "value" :source #elm/expression-ref "Observation" diff --git a/modules/cql/test/blaze/elm/compiler/type_operators_test.clj b/modules/cql/test/blaze/elm/compiler/type_operators_test.clj index 4a59b320f..e97b87764 100644 --- a/modules/cql/test/blaze/elm/compiler/type_operators_test.clj +++ b/modules/cql/test/blaze/elm/compiler/type_operators_test.clj @@ -4,17 +4,20 @@ Section numbers are according to https://cql.hl7.org/04-logicalspecification.html." (:require + [blaze.elm.code :as code] [blaze.elm.compiler :as c] [blaze.elm.compiler.clinical-operators] [blaze.elm.compiler.core :as core] [blaze.elm.compiler.test-util :as tu] [blaze.elm.compiler.type-operators] + [blaze.elm.concept :as concept] [blaze.elm.decimal :as decimal] [blaze.elm.literal :as elm] [blaze.elm.literal-spec] [blaze.elm.protocols :as p] [blaze.elm.quantity :as quantity] [blaze.elm.quantity-spec] + [blaze.elm.ratio :as ratio] [blaze.fhir.spec.type.system :as system] [clojure.spec.test.alpha :as st] [clojure.test :as test :refer [are deftest is testing]])) @@ -721,7 +724,13 @@ (testing "Decimal" (is (true? (tu/compile-unop elm/converts-to-quantity elm/decimal "1.1")))) - ;; TODO: Ratio + (testing "Ratio" + (are [x] (true? (tu/compile-unop elm/converts-to-quantity elm/ratio x)) + [[-1] [-1]] + [[1] [1]] + [[1 "s"] [1 "s"]] + [[1 "m"] [1 "s"]] + [[10 "s"] [1 "s"]])) (testing "dynamic" (are [x] (false? (tu/dynamic-compile-eval (elm/converts-to-quantity x))) @@ -738,7 +747,7 @@ (is (= '(converts-to-quantity (param-ref "x")) (core/-form expr)))))) -;; TODO 22.14. ConvertsToRatio +;; 22.14. ConvertsToRatio ;; ;; The ConvertsToRatio operator returns true if the value of its argument is or ;; can be converted to a Ratio value. The operator accepts strings using the @@ -754,6 +763,30 @@ ;; a valid Ratio value, the result is false. ;; ;; If the argument is null, the result is null. +(deftest compile-converts-to-ratio-test + (testing "String" + (are [x] (true? (tu/compile-unop elm/converts-to-ratio elm/string x)) + "-1'm':-1'm'" + "0'm':0'm'" + "1'm':1'm'") + + (are [x] (false? (tu/compile-unop elm/converts-to-ratio elm/string x)) + "" + "a" + "0'm';0'm'")) + + (testing "dynamic" + (are [x] (false? (tu/dynamic-compile-eval (elm/converts-to-ratio x))) + #elm/parameter-ref "A")) + + (tu/testing-unary-null elm/converts-to-ratio) + + (testing "form" + (let [compile-ctx {:library {:parameters {:def [{:name "x"}]}}} + elm #elm/converts-to-ratio #elm/parameter-ref "x" + expr (c/compile compile-ctx elm)] + (is (= '(converts-to-ratio (param-ref "x")) (core/-form expr)))))) + ;; 22.15. ConvertsToString ;; @@ -811,7 +844,9 @@ (are [x] (true? (tu/compile-unop elm/converts-to-string elm/time x)) "01:00")) - ;; TODO: Ratio + (testing "Ratio" + (are [x] (true? (tu/compile-unop elm/converts-to-string elm/ratio x)) + [[1M "m"] [1M "m"]])) (testing "Tuple" (are [x] (false? (c/compile {} (elm/converts-to-string (elm/tuple x)))) @@ -1212,7 +1247,7 @@ expr (c/compile compile-ctx elm)] (is (= '(to-chars (param-ref "x")) (core/-form expr)))))) -;; TODO 22.21. ToConcept +;; 22.21. ToConcept ;; ;; The ToConcept operator converts a value of type Code to a Concept value with ;; the given Code as its primary and only Code. If the Code has a display @@ -1222,6 +1257,26 @@ ;; input Codes, and will not have a display value. ;; ;; If the argument is null, the result is null. +(deftest compile-to-concept-test + (testing "Code" + (are [x res] (= res (core/-eval (c/compile {} (elm/to-concept x)) + {:now tu/now} nil nil)) + + (tu/code "system-134534" "code-134551") + (concept/to-concept [(code/to-code "system-134534" nil "code-134551")]) + + (elm/list [(tu/code "system-134534" "code-134551") + (tu/code "system-134535" "code-134552")]) + (concept/to-concept [(code/to-code "system-134534" nil "code-134551") + (code/to-code "system-134535" nil "code-134552")]))) + + (tu/testing-unary-null elm/to-concept) + + (testing "form" + (let [compile-ctx {:library {:parameters {:def [{:name "x"}]}}} + elm #elm/to-concept #elm/parameter-ref "x" + expr (c/compile compile-ctx elm)] + (is (= '(to-concept (param-ref "x")) (core/-form expr)))))) ;; 22.22. ToDate @@ -1443,17 +1498,15 @@ ;; The operator is used to implement list promotion efficiently. (deftest compile-to-list-test (testing "Boolean" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-list elm/boolean x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-list elm/boolean x)) "false" [false])) (testing "Integer" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-list elm/integer x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-list elm/integer x)) "1" [1])) (testing "Null" - (is (= [] (core/-eval (c/compile {} #elm/to-list{:type "Null"}) {} nil nil)))) + (is (= [] (c/compile {} #elm/to-list{:type "Null"})))) (testing "form" (let [compile-ctx {:library {:parameters {:def [{:name "x"}]}}} @@ -1544,9 +1597,7 @@ ;; If the argument is null, the result is null. (deftest compile-to-quantity-test (testing "String" - (are [x res] (p/equal res (core/-eval (tu/compile-unop elm/to-quantity - elm/string x) - {} nil nil)) + (are [x res] (p/equal res (tu/compile-unop elm/to-quantity elm/string x)) "-1" (quantity/quantity -1 "1") "1" (quantity/quantity 1 "1") @@ -1558,8 +1609,7 @@ "1.1 'm'" (quantity/quantity 1.1M "m")) - (are [x] (nil? (core/-eval (tu/compile-unop elm/to-quantity elm/string x) - {} nil nil)) + (are [x] (nil? (tu/compile-unop elm/to-quantity elm/string x)) (str (- decimal/min 1e-8M)) (str (+ decimal/max 1e-8M)) (str (- decimal/min 1e-8M) "'m'") @@ -1568,18 +1618,25 @@ "a")) (testing "Integer" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-quantity elm/integer x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-quantity elm/integer x)) "1" (quantity/quantity 1 "1"))) (testing "Decimal" - (are [x res] (p/equal res (core/-eval (tu/compile-unop elm/to-quantity - elm/decimal x) - {} nil nil)) + (are [x res] (p/equal res (tu/compile-unop elm/to-quantity elm/decimal x)) "1" (quantity/quantity 1 "1") "1.1" (quantity/quantity 1.1M "1"))) - ;; TODO: Ratio + (testing "Ratio" + (are [x res] (p/equal res (tu/compile-unop elm/to-quantity elm/ratio x)) + [[1] [1]] (quantity/quantity 1 "1") + [[-1] [1]] (quantity/quantity -1 "1") + + [[1 "s"] [1 "s"]] (quantity/quantity 1 "1") + [[1 "s"] [2 "s"]] (quantity/quantity 2 "1") + + [[1 "m"] [1 "s"]] (quantity/quantity 1 "s/m") + [[1 "s"] [1 "m"]] (quantity/quantity 1 "m/s") + [[100 "cm"] [1 "m"]] (quantity/quantity 1 "1"))) (tu/testing-unary-null elm/to-quantity) @@ -1590,7 +1647,7 @@ (is (= '(to-quantity (param-ref "x")) (core/-form expr)))))) -;; TODO 22.29. ToRatio +;; 22.29. ToRatio ;; ;; The ToRatio operator converts the value of its argument to a Ratio value. ;; The operator accepts strings using the following format: @@ -1605,6 +1662,43 @@ ;; a valid Ratio value, the result is null. ;; ;; If the argument is null, the result is null. +(deftest compile-to-ratio-test + (testing "String" + (are [x res] (p/equal res (tu/compile-unop elm/to-ratio elm/string x)) + "-1:-1" (ratio/ratio (quantity/quantity -1 "1") (quantity/quantity -1 "1")) + "1:1" (ratio/ratio (quantity/quantity 1 "1") (quantity/quantity 1 "1")) + "1:100" (ratio/ratio (quantity/quantity 1 "1") (quantity/quantity 100 "1")) + "100:1" (ratio/ratio (quantity/quantity 100 "1") (quantity/quantity 1 "1")) + + "1'm':1'm'" (ratio/ratio (quantity/quantity 1 "m") (quantity/quantity 1 "m")) + "1 'm':1 'm'" (ratio/ratio (quantity/quantity 1 "m") (quantity/quantity 1 "m")) + "1 'm':1 'm'" (ratio/ratio (quantity/quantity 1 "m") (quantity/quantity 1 "m")) + + "2'm':1'm'" (ratio/ratio (quantity/quantity 2 "m") (quantity/quantity 1 "m")) + "1'm':2'm'" (ratio/ratio (quantity/quantity 1 "m") (quantity/quantity 2 "m")) + + "1'cm':1'm'" (ratio/ratio (quantity/quantity 1 "cm") (quantity/quantity 1 "m")) + "1'm':1'cm'" (ratio/ratio (quantity/quantity 1 "m") (quantity/quantity 1 "cm")) + + "10 'm':10 'm'" (ratio/ratio (quantity/quantity 10 "m") (quantity/quantity 10 "m")) + + "1.1 'm':1.1 'm'" (ratio/ratio (quantity/quantity 1.1M "m") (quantity/quantity 1.1M "m")))) + + (are [x] (nil? (tu/compile-unop elm/to-ratio elm/string x)) + ":" + "a" + "" + "1:" + ":1" + "1:1:1") + + (tu/testing-unary-null elm/to-ratio) + + (testing "form" + (let [compile-ctx {:library {:parameters {:def [{:name "x"}]}}} + elm #elm/to-ratio #elm/parameter-ref "x" + expr (c/compile compile-ctx elm)] + (is (= '(to-ratio (param-ref "x")) (core/-form expr)))))) ;; 22.30. ToString @@ -1624,21 +1718,18 @@ ;; If the argument is null, the result is null. (deftest compile-to-string-test (testing "Boolean" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/boolean x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/boolean x)) "true" "true" "false" "false")) (testing "Integer" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/integer x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/integer x)) "-1" "-1" "0" "0" "1" "1")) (testing "Decimal" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/decimal x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/decimal x)) "-1" "-1" "0" "0" "1" "1" @@ -1656,32 +1747,32 @@ "0.000000005" "0.00000001")) (testing "Quantity" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/quantity - x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/quantity x)) [1 "m"] "1 'm'" [1M "m"] "1 'm'" [1.1M "m"] "1.1 'm'")) (testing "Date" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/date x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/date x)) "2019" "2019" "2019-01" "2019-01" "2019-01-01" "2019-01-01")) (testing "DateTime" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/date-time - x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/date-time x)) "2019-01-01T01:00" "2019-01-01T01:00")) (testing "Time" - (are [x res] (= res (core/-eval (tu/compile-unop elm/to-string elm/time x) - {} nil nil)) + (are [x res] (= res (tu/compile-unop elm/to-string elm/time x)) "01:00" "01:00")) - ;; TODO: Ratio + (testing "Ratio" + (are [x res] (= res (tu/compile-unop elm/to-string elm/ratio x)) + [[1 "m"] [1 "m"]] "1 'm':1 'm'" + [[1 "m"] [2 "m"]] "1 'm':2 'm'" + [[1M "m"] [1M "m"]] "1 'm':1 'm'" + [[100M "m"] [1M "m"]] "100 'm':1 'm'" + [[1.1M "m"] [1.1M "m"]] "1.1 'm':1.1 'm'")) (tu/testing-unary-null elm/to-string) diff --git a/modules/cql/test/blaze/elm/concept_spec.clj b/modules/cql/test/blaze/elm/concept_spec.clj new file mode 100644 index 000000000..0d4f488d6 --- /dev/null +++ b/modules/cql/test/blaze/elm/concept_spec.clj @@ -0,0 +1,16 @@ +(ns blaze.elm.concept-spec + (:require + [blaze.elm.code-spec :as code-spec] + [blaze.elm.concept :as concept] + [clojure.spec.alpha :as s]) + (:import + [blaze.elm.concept Concept])) + + +(defn concept? [x] + (instance? Concept x)) + + +(s/fdef concept/to-concept + :args (s/cat :codes (s/coll-of code-spec/code?)) + :ret concept?) diff --git a/modules/cql/test/blaze/elm/literal.clj b/modules/cql/test/blaze/elm/literal.clj index 8c70da479..92d96add0 100644 --- a/modules/cql/test/blaze/elm/literal.clj +++ b/modules/cql/test/blaze/elm/literal.clj @@ -83,6 +83,20 @@ {:type "CodeRef" :name name}) +;; 3.6. Concept +(defn concept [[codes display]] + (cond-> + {:type "Concept" + :codes codes} + display + (assoc :display display))) + + +;; 3.8. ConceptRef +(defn concept-ref [name] + {:type "ConceptRef" :name name}) + + ;; 3.9. Quantity (defn quantity [[value unit]] (cond-> @@ -92,6 +106,21 @@ (assoc :unit unit))) +;; 3.10. Ratio +(defn ratio + [[[numerator-value numerator-unit] [denominator-value denominator-unit]]] + {:type "Ratio" + :numerator (cond-> + {:type "Quantity" + :value numerator-value} + numerator-unit + (assoc :unit numerator-unit)) + :denominator (cond-> + {:type "Quantity" + :value denominator-value} + denominator-unit + (assoc :unit denominator-unit))}) + ;; 7. Parameters @@ -845,6 +874,11 @@ {:type "ConvertsToQuantity" :operand operand}) +;; 22.14. ConvertsToRatio +(defn converts-to-ratio [operand] + {:type "ConvertsToRatio" :operand operand}) + + ;; 22.15. ConvertsToString (defn converts-to-string [operand] {:type "ConvertsToString" :operand operand}) @@ -875,6 +909,11 @@ {:type "ToChars" :operand operand}) +;; 22.21. ToConcept +(defn to-concept [operand] + {:type "ToConcept" :operand operand}) + + ;; 22.22. ToDate (defn to-date [operand] {:type "ToDate" :operand operand}) @@ -910,6 +949,11 @@ {:type "ToQuantity" :operand operand}) +;; 22.29. ToRatio +(defn to-ratio [operand] + {:type "ToRatio" :operand operand}) + + ;; 22.30. ToString (defn to-string [operand] {:type "ToString" :operand operand}) diff --git a/modules/cql/test/blaze/elm/literal_spec.clj b/modules/cql/test/blaze/elm/literal_spec.clj index cc144bfa7..2bd9ac301 100644 --- a/modules/cql/test/blaze/elm/literal_spec.clj +++ b/modules/cql/test/blaze/elm/literal_spec.clj @@ -38,7 +38,7 @@ :ret :elm/expression) -;; 2.1. Instance +;; 2.2. Instance (s/fdef elm/instance :args (s/cat :arg (s/tuple string? (s/map-of string? :elm/expression))) :ret :elm/expression) @@ -62,12 +62,41 @@ :ret :elm/expression) +;; 3.6. Concept +(s/fdef elm/concept + :args (s/cat + :args + (s/spec (s/cat + :codes (s/coll-of :elm/code) + :display (s/? string?)))) + :ret :elm/expression) + + +;; 3.8. ConceptRef +(s/fdef elm/concept-ref + :args (s/cat :name string?) + :ret :elm/expression) + + ;; 3.9. Quantity (s/fdef elm/quantity :args (s/cat :args (s/spec (s/cat :value number? :unit (s/? string?)))) :ret :elm/expression) +;; 3.10. Ratio +(s/fdef elm/ratio + :args + (s/cat + :args + (s/spec + (s/cat + :numerator + (s/spec (s/cat :numerator-value number? :numerator-unit (s/? string?))) + :denominator + (s/spec (s/cat :denominator-value number? :denominator-unit (s/? string?)))))) + :ret :elm/expression) + ;; 9. Reusing Logic @@ -439,12 +468,78 @@ :ret :elm/expression) +;; 22.7. ConvertsToBoolean +(s/fdef elm/converts-to-boolean + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.8. ConvertsToDate +(s/fdef elm/converts-to-date + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.9. ConvertsToDateTime +(s/fdef elm/converts-to-date-time + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.10. ConvertsToDecimal +(s/fdef elm/converts-to-decimal + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.11. ConvertsToLong +(s/fdef elm/converts-to-long + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.12. ConvertsToInteger +(s/fdef elm/converts-to-integer + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.13. ConvertsToQuantity +(s/fdef elm/converts-to-quantity + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.14. ConvertsToRatio +(s/fdef elm/converts-to-ratio + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.15. ConvertsToString +(s/fdef elm/converts-to-string + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + +;; 22.16. ConvertsToTime +(s/fdef elm/converts-to-time + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + ;; 22.17. Descendents (s/fdef elm/descendents :args (s/cat :source :elm/expression) :ret :elm/expression) +;; 22.21. ToConcept +(s/fdef elm/to-concept + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + ;; 22.22. ToDate (s/fdef elm/to-date :args (s/cat :operand :elm/expression) @@ -487,6 +582,12 @@ :ret :elm/expression) +;; 22.29. ToRatio +(s/fdef elm/to-ratio + :args (s/cat :operand :elm/expression) + :ret :elm/expression) + + ;; 22.30. ToString (s/fdef elm/to-string :args (s/cat :operand :elm/expression) diff --git a/modules/cql/test/blaze/elm/ratio_spec.clj b/modules/cql/test/blaze/elm/ratio_spec.clj new file mode 100644 index 000000000..d77ad60da --- /dev/null +++ b/modules/cql/test/blaze/elm/ratio_spec.clj @@ -0,0 +1,17 @@ +(ns blaze.elm.ratio-spec + (:refer-clojure :exclude [ratio?]) + (:require + [blaze.anomaly-spec] + [blaze.elm.quantity :as quantity] + [blaze.elm.ratio :as ratio] + [clojure.spec.alpha :as s]) + (:import + [blaze.elm.ratio Ratio])) + + +(defn ratio? [x] + (instance? Ratio x)) + + +(s/fdef ratio/ratio + :args (s/cat :numerator quantity/quantity? :denominator quantity/quantity?)) diff --git a/modules/cql/test/data_readers.clj b/modules/cql/test/data_readers.clj index f204f5f5d..6b25344ae 100644 --- a/modules/cql/test/data_readers.clj +++ b/modules/cql/test/data_readers.clj @@ -7,7 +7,10 @@ elm/instance blaze.elm.literal/instance elm/code blaze.elm.literal/code elm/code-ref blaze.elm.literal/code-ref + elm/concept blaze.elm.literal/concept + elm/concept-ref blaze.elm.literal/concept-ref elm/quantity blaze.elm.literal/quantity + elm/ratio blaze.elm.literal/ratio elm/parameter-ref blaze.elm.literal/parameter-ref elm/expression-ref blaze.elm.literal/expression-ref elm/function-ref blaze.elm.literal/function-ref @@ -79,6 +82,7 @@ elm/converts-to-long blaze.elm.literal/converts-to-long elm/converts-to-integer blaze.elm.literal/converts-to-integer elm/converts-to-quantity blaze.elm.literal/converts-to-quantity + elm/converts-to-ratio blaze.elm.literal/converts-to-ratio elm/converts-to-string blaze.elm.literal/converts-to-string elm/converts-to-time blaze.elm.literal/converts-to-time elm/children blaze.elm.literal/children @@ -86,6 +90,7 @@ elm/is blaze.elm.literal/is elm/to-boolean blaze.elm.literal/to-boolean elm/to-chars blaze.elm.literal/to-chars + elm/to-concept blaze.elm.literal/to-concept elm/to-date blaze.elm.literal/to-date elm/to-date-time blaze.elm.literal/to-date-time elm/to-decimal blaze.elm.literal/to-decimal @@ -93,5 +98,6 @@ elm/to-list blaze.elm.literal/to-list elm/to-long blaze.elm.literal/to-long elm/to-quantity blaze.elm.literal/to-quantity + elm/to-ratio blaze.elm.literal/to-ratio elm/to-string blaze.elm.literal/to-string elm/calculate-age-at blaze.elm.literal/calculate-age-at} diff --git a/modules/db-resource-store-cassandra/Makefile b/modules/db-resource-store-cassandra/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/db-resource-store-cassandra/Makefile +++ b/modules/db-resource-store-cassandra/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/db-resource-store/Makefile b/modules/db-resource-store/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/db-resource-store/Makefile +++ b/modules/db-resource-store/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/db-tx-log-kafka/Makefile b/modules/db-tx-log-kafka/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/db-tx-log-kafka/Makefile +++ b/modules/db-tx-log-kafka/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/db-tx-log/Makefile b/modules/db-tx-log/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/db-tx-log/Makefile +++ b/modules/db-tx-log/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/db-tx-log/src/blaze/db/tx_log/spec.clj b/modules/db-tx-log/src/blaze/db/tx_log/spec.clj index 2bc1fd024..9a8622e5f 100644 --- a/modules/db-tx-log/src/blaze/db/tx_log/spec.clj +++ b/modules/db-tx-log/src/blaze/db/tx_log/spec.clj @@ -39,6 +39,10 @@ :blaze.db/t) +(s/def :blaze.db.tx-cmd/if-none-match + (s/or :any #{"*"} :t :blaze.db/t)) + + (defmulti tx-cmd "Transaction command" :op) @@ -57,7 +61,8 @@ :blaze.resource/id :blaze.resource/hash] :opt-un [:blaze.db.tx-cmd/refs - :blaze.db.tx-cmd/if-match])) + :blaze.db.tx-cmd/if-match + :blaze.db.tx-cmd/if-none-match])) (defmethod tx-cmd "delete" [_] diff --git a/modules/db/Makefile b/modules/db/Makefile index 9810d3bfb..d6dff4670 100644 --- a/modules/db/Makefile +++ b/modules/db/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test test-perf deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/db/src/blaze/db/api.clj b/modules/db/src/blaze/db/api.clj index cd0c73302..ac564e819 100644 --- a/modules/db/src/blaze/db/api.clj +++ b/modules/db/src/blaze/db/api.clj @@ -52,7 +52,7 @@ A transaction operator can be one of the following: * [:create resource clauses?] - * [:put resource t?] + * [:put resource precondition?] * [:delete type id] Returns a CompletableFuture that completes with the database after the diff --git a/modules/db/src/blaze/db/impl/codec.clj b/modules/db/src/blaze/db/impl/codec.clj index 646a702e8..63888db63 100644 --- a/modules/db/src/blaze/db/impl/codec.clj +++ b/modules/db/src/blaze/db/impl/codec.clj @@ -4,13 +4,9 @@ [blaze.byte-string :as bs] [blaze.fhir.spec.type.system]) (:import - [blaze.fhir.spec.type.system DateTimeYear DateTimeYearMonth - DateTimeYearMonthDay] [com.github.benmanes.caffeine.cache CacheLoader Caffeine] [com.google.common.hash Hashing] [java.nio.charset StandardCharsets] - [java.time LocalDate LocalDateTime OffsetDateTime Year YearMonth - ZoneId ZoneOffset] [java.util Arrays])) @@ -26,7 +22,6 @@ (def ^:const ^long tid-size Integer/BYTES) (def ^:const ^long t-size Long/BYTES) (def ^:const ^long state-size Long/BYTES) -(def ^:const ^long tx-time-size Long/BYTES) (def ^:const ^long max-id-size 64) @@ -431,110 +426,20 @@ bs/from-byte-buffer!))))) -(defn- epoch-seconds ^long [^LocalDateTime date-time ^ZoneId zone-id] - (.toEpochSecond (.atZone date-time zone-id))) - - -(defprotocol DateLowerBound - (-date-lb [date-time zone-id])) - - -(extend-protocol DateLowerBound - Year - (-date-lb [year zone-id] - (number (epoch-seconds (.atStartOfDay (.atDay year 1)) zone-id))) - DateTimeYear - (-date-lb [year zone-id] - (number (epoch-seconds (.atStartOfDay (.atDay ^Year (.-year year) 1)) zone-id))) - YearMonth - (-date-lb [year-month zone-id] - (number (epoch-seconds (.atStartOfDay (.atDay year-month 1)) zone-id))) - DateTimeYearMonth - (-date-lb [year-month zone-id] - (number (epoch-seconds (.atStartOfDay (.atDay ^YearMonth (.-year_month year-month) 1)) zone-id))) - LocalDate - (-date-lb [date zone-id] - (number (epoch-seconds (.atStartOfDay date) zone-id))) - DateTimeYearMonthDay - (-date-lb [date zone-id] - (number (epoch-seconds (.atStartOfDay ^LocalDate (.date date)) zone-id))) - LocalDateTime - (-date-lb [date-time zone-id] - (number (epoch-seconds date-time zone-id))) - OffsetDateTime - (-date-lb [date-time _] - (number (.toEpochSecond date-time)))) - - -(defn date-lb - "Returns the lower bound of the implicit range the `date-time` value spans." - [zone-id date-time] - (-date-lb date-time zone-id)) - - -(defprotocol DateUpperBound - (-date-ub [date-time zone-id])) - - -(extend-protocol DateUpperBound - Year - (-date-ub [year zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusYears year 1) 1)) zone-id)))) - DateTimeYear - (-date-ub [year zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusYears ^Year (.year year) 1) 1)) zone-id)))) - YearMonth - (-date-ub [year-month zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusMonths year-month 1) 1)) zone-id)))) - DateTimeYearMonth - (-date-ub [year-month zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusMonths ^YearMonth (.-year_month year-month) 1) 1)) zone-id)))) - LocalDate - (-date-ub [date zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.plusDays date 1)) zone-id)))) - DateTimeYearMonthDay - (-date-ub [date zone-id] - (number (dec (epoch-seconds (.atStartOfDay (.plusDays ^LocalDate (.date date) 1)) zone-id)))) - LocalDateTime - (-date-ub [date-time zone-id] - (number (epoch-seconds date-time zone-id))) - OffsetDateTime - (-date-ub [date-time _] - (number (.toEpochSecond date-time)))) - - -(defn date-ub - "Returns the upper bound of the implicit range the `date-time` value spans." - [zone-id date-time] - (-date-ub date-time zone-id)) - - -(def date-min-bound - (date-lb (ZoneOffset/ofHours 0) (Year/of 1))) - - -(def date-max-bound - (date-ub (ZoneOffset/ofHours 0) (Year/of 9999))) - - -(defn date-lb-ub [lb ub] - (-> (bb/allocate (+ 2 (bs/size lb) (bs/size ub))) - (bb/put-byte-string! lb) - (bb/put-byte! 0) - (bb/put-byte-string! ub) - (bb/put-byte! (bs/size lb)) - bb/flip! - bs/from-byte-buffer!)) - - -(defn date-lb-ub->lb [lb-ub] - (bs/subs lb-ub 0 (bs/nth lb-ub (unchecked-dec-int (bs/size lb-ub))))) - - -(defn date-lb-ub->ub [lb-ub] - (let [lb-size-idx (unchecked-dec-int (bs/size lb-ub)) - start (unchecked-inc-int (int (bs/nth lb-ub lb-size-idx)))] - (bs/subs lb-ub start lb-size-idx))) +(defn decode-number [byte-string] + (let [bb (bs/as-read-only-byte-buffer byte-string) + header (bit-and (long (bb/get-byte! bb)) 0xFF) + mask (bit-and (bit-shift-right (unchecked-byte (bit-xor header 0x80)) 7) 0xFF) + n (bit-and (bit-xor (bit-shift-right header 3) mask) 0x0F)] + (loop [val (bit-shift-left (bit-and (bit-xor header mask) 0x07) (* 8 n)) + i 1] + (if (<= i n) + (let [byte (bit-and (long (bb/get-byte! bb)) 0xFF)] + (recur + (+ val (bit-shift-left (bit-xor byte mask) (* 8 (- n i)))) + (inc i))) + (let [final-mask (bit-shift-right (bit-shift-left mask 63) 63)] + (bit-xor val final-mask)))))) (defn quantity [unit value] diff --git a/modules/db/src/blaze/db/impl/codec/date.clj b/modules/db/src/blaze/db/impl/codec/date.clj new file mode 100644 index 000000000..0c8fa4f17 --- /dev/null +++ b/modules/db/src/blaze/db/impl/codec/date.clj @@ -0,0 +1,127 @@ +(ns blaze.db.impl.codec.date + (:require + [blaze.byte-buffer :as bb] + [blaze.byte-string :as bs] + [blaze.db.impl.codec :refer [number]] + [blaze.fhir.spec.type.system]) + (:import + [blaze.fhir.spec.type.system DateTimeYear DateTimeYearMonth + DateTimeYearMonthDay] + [java.time LocalDate LocalDateTime OffsetDateTime Year YearMonth + ZoneOffset])) + + +(set! *warn-on-reflection* true) + + +(defn- epoch-seconds ^long [^LocalDateTime date-time] + (.toEpochSecond (.atOffset date-time (ZoneOffset/UTC)))) + + +(defprotocol LowerBound + (-encode-lower-bound [date-time])) + + +(extend-protocol LowerBound + Year + (-encode-lower-bound [year] + (number (epoch-seconds (.atStartOfDay (.atDay year 1))))) + DateTimeYear + (-encode-lower-bound [year] + (number (epoch-seconds (.atStartOfDay (.atDay ^Year (.-year year) 1))))) + YearMonth + (-encode-lower-bound [year-month] + (number (epoch-seconds (.atStartOfDay (.atDay year-month 1))))) + DateTimeYearMonth + (-encode-lower-bound [year-month] + (number (epoch-seconds (.atStartOfDay (.atDay ^YearMonth (.-year_month year-month) 1))))) + LocalDate + (-encode-lower-bound [date] + (number (epoch-seconds (.atStartOfDay date)))) + DateTimeYearMonthDay + (-encode-lower-bound [date] + (number (epoch-seconds (.atStartOfDay ^LocalDate (.date date))))) + LocalDateTime + (-encode-lower-bound [date-time] + (number (epoch-seconds date-time))) + OffsetDateTime + (-encode-lower-bound [date-time] + (number (.toEpochSecond date-time)))) + + +(defn encode-lower-bound + "Encodes the lower bound of the implicit range of `date-time`." + [date-time] + (-encode-lower-bound date-time)) + + +(defprotocol UpperBound + (-encode-upper-bound [date-time])) + + +(extend-protocol UpperBound + Year + (-encode-upper-bound [year] + (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusYears year 1) 1)))))) + DateTimeYear + (-encode-upper-bound [year] + (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusYears ^Year (.year year) 1) 1)))))) + YearMonth + (-encode-upper-bound [year-month] + (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusMonths year-month 1) 1)))))) + DateTimeYearMonth + (-encode-upper-bound [year-month] + (number (dec (epoch-seconds (.atStartOfDay (.atDay (.plusMonths ^YearMonth (.-year_month year-month) 1) 1)))))) + LocalDate + (-encode-upper-bound [date] + (number (dec (epoch-seconds (.atStartOfDay (.plusDays date 1)))))) + DateTimeYearMonthDay + (-encode-upper-bound [date] + (number (dec (epoch-seconds (.atStartOfDay (.plusDays ^LocalDate (.date date) 1)))))) + LocalDateTime + (-encode-upper-bound [date-time] + (number (epoch-seconds date-time))) + OffsetDateTime + (-encode-upper-bound [date-time] + (number (.toEpochSecond date-time)))) + + +(defn encode-upper-bound + "Encodes the upper bound of the implicit range of `date-time`." + [date-time] + (-encode-upper-bound date-time)) + + +(defn- encode-range* [lower-bound upper-bound] + (-> (bb/allocate (+ 2 (bs/size lower-bound) (bs/size upper-bound))) + (bb/put-byte-string! lower-bound) + (bb/put-byte! 0) + (bb/put-byte-string! upper-bound) + (bb/put-byte! (bs/size lower-bound)) + bb/flip! + bs/from-byte-buffer!)) + + +(defn encode-range + "Encodes the implicit range of `date-time` or the explicit range from `start` + to `end`." + ([date-time] + (encode-range date-time date-time)) + ([start end] + (encode-range* (encode-lower-bound (or start (Year/of 1))) + (encode-upper-bound (or end (Year/of 9999)))))) + + +(defn lower-bound-bytes + "Returns the bytes of the lower bound from the encoded `date-range-bytes`." + [date-range-bytes] + (let [lower-bound-size-idx (unchecked-dec-int (bs/size date-range-bytes))] + (bs/subs date-range-bytes 0 (bs/nth date-range-bytes lower-bound-size-idx)))) + + +(defn upper-bound-bytes + "Returns the bytes of the upper bound from the encoded `date-range-bytes`." + [date-range-bytes] + (let [lower-bound-size-idx (unchecked-dec-int (bs/size date-range-bytes)) + start (unchecked-inc-int (int (bs/nth date-range-bytes lower-bound-size-idx)))] + (bs/subs date-range-bytes start lower-bound-size-idx))) diff --git a/modules/db/src/blaze/db/impl/search_param/date.clj b/modules/db/src/blaze/db/impl/search_param/date.clj index 89427b59f..e0a3c5d74 100644 --- a/modules/db/src/blaze/db/impl/search_param/date.clj +++ b/modules/db/src/blaze/db/impl/search_param/date.clj @@ -4,6 +4,7 @@ [blaze.byte-string :as bs] [blaze.coll.core :as coll] [blaze.db.impl.codec :as codec] + [blaze.db.impl.codec.date :as codec-date] [blaze.db.impl.index.resource-search-param-value :as r-sp-v] [blaze.db.impl.index.search-param-value-resource :as sp-vr] [blaze.db.impl.protocols :as p] @@ -14,25 +15,12 @@ [blaze.fhir.spec.type :as type] [blaze.fhir.spec.type.system :as system] [cognitect.anomalies :as anom] - [taoensso.timbre :as log]) - (:import - [java.time ZoneId])) + [taoensso.timbre :as log])) (set! *warn-on-reflection* true) -(def ^:private default-zone-id (ZoneId/systemDefault)) - - -(defn- date-lb [date-time] - (codec/date-lb default-zone-id date-time)) - - -(defn- date-ub [date-time] - (codec/date-ub default-zone-id date-time)) - - (defmulti index-entries "Returns index entries for `value` from a resource." {:arglists '([url value])} @@ -42,31 +30,25 @@ (defmethod index-entries :fhir/date [_ date] (when-let [value (type/value date)] - [[nil (codec/date-lb-ub (date-lb value) (date-ub value))]])) + [[nil (codec-date/encode-range value)]])) (defmethod index-entries :fhir/dateTime [_ date-time] (when-let [value (type/value date-time)] - [[nil (codec/date-lb-ub (date-lb value) (date-ub value))]])) + [[nil (codec-date/encode-range value)]])) (defmethod index-entries :fhir/instant [_ date-time] (when-let [value (type/value date-time)] - [[nil (codec/date-lb-ub (date-lb value) (date-ub value))]])) + [[nil (codec-date/encode-range value)]])) (defmethod index-entries :fhir/Period [_ {:keys [start end]}] [[nil - (codec/date-lb-ub - (if-let [start (type/value start)] - (date-lb start) - codec/date-min-bound) - (if-let [end (type/value end)] - (date-ub end) - codec/date-max-bound))]]) + (codec-date/encode-range (type/value start) (type/value end))]]) (defmethod index-entries :default @@ -87,18 +69,18 @@ (defn- eq-overlaps? "Returns true if the interval `v` overlaps with the interval `q`." - [v-lb v-ub q-lb q-ub] - (or (bs/<= q-lb v-lb q-ub) - (bs/<= q-lb v-ub q-ub) - (and (bs/< v-lb q-lb) (bs/< q-ub v-ub)))) + [value q-lb q-ub] + (let [v-lb (codec-date/lower-bound-bytes value) + v-ub (codec-date/upper-bound-bytes value)] + (or (bs/<= q-lb v-lb q-ub) + (bs/<= q-lb v-ub q-ub) + (and (bs/< v-lb q-lb) (bs/< q-ub v-ub))))) (defn- eq-filter [q-lb a-lb] (filter (fn [[value]] - (let [v-lb (codec/date-lb-ub->lb value) - v-ub (codec/date-lb-ub->ub value)] - (eq-overlaps? v-lb v-ub q-lb a-lb))))) + (eq-overlaps? value q-lb a-lb)))) (defn- all-keys! [{:keys [svri] :as context} c-hash tid start-id] @@ -125,16 +107,15 @@ (all-keys! context c-hash tid start-id)))) -(defn- ge-overlaps? [v-lb v-ub q-lb] - (or (bs/<= q-lb v-lb) (bs/<= q-lb v-ub))) +(defn- ge-overlaps? [lower-bound value] + (or (bs/<= lower-bound (codec-date/lower-bound-bytes value)) + (bs/<= lower-bound (codec-date/upper-bound-bytes value)))) -(defn- ge-filter [q-lb] +(defn- ge-filter [lower-bound] (filter (fn [[value]] - (let [v-lb (codec/date-lb-ub->lb value) - v-ub (codec/date-lb-ub->ub value)] - (ge-overlaps? v-lb v-ub q-lb))))) + (ge-overlaps? lower-bound value)))) (defn- ge-keys! @@ -151,16 +132,40 @@ (all-keys! context c-hash tid start-id)))) -(defn- le-overlaps? [v-lb v-ub q-ub] - (or (bs/<= v-ub q-ub) (bs/<= v-lb q-ub))) +(defn- gt-overlaps? [lower-bound value] + (or (bs/< lower-bound (codec-date/lower-bound-bytes value)) + (bs/< lower-bound (codec-date/upper-bound-bytes value)))) + + +(defn- gt-filter [lower-bound] + (filter + (fn [[value]] + (gt-overlaps? lower-bound value)))) + + +(defn- gt-keys! + "Returns a reducible collection of `[value id hash-prefix]` triples of all + keys with overlapping date/time intervals with the interval specified by + `lower-bound` and an infinite upper bound starting at `start-id` (optional)." + ([{:keys [svri]} c-hash tid lower-bound] + (coll/eduction + (gt-filter lower-bound) + (sp-vr/all-keys! svri c-hash tid))) + ([context c-hash tid lower-bound start-id] + (coll/eduction + (gt-filter lower-bound) + (all-keys! context c-hash tid start-id)))) + + +(defn- le-overlaps? [value upper-bound] + (or (bs/<= (codec-date/upper-bound-bytes value) upper-bound) + (bs/<= (codec-date/lower-bound-bytes value) upper-bound))) (defn- le-filter [q-ub] (filter (fn [[value]] - (let [v-lb (codec/date-lb-ub->lb value) - v-ub (codec/date-lb-ub->ub value)] - (le-overlaps? v-lb v-ub q-ub))))) + (le-overlaps? value q-ub)))) (defn- le-keys! @@ -177,6 +182,31 @@ (all-keys! context c-hash tid start-id)))) +(defn- lt-overlaps? [value upper-bound] + (or (bs/< (codec-date/upper-bound-bytes value) upper-bound) + (bs/< (codec-date/lower-bound-bytes value) upper-bound))) + + +(defn- lt-filter [upper-bound] + (filter + (fn [[value]] + (lt-overlaps? value upper-bound)))) + + +(defn- lt-keys! + "Returns a reducible collection of `[value id hash-prefix]` triples of all + keys with overlapping date/time intervals with the interval specified by + an infinite lower bound and `upper-bound` starting at `start-id` (optional)." + ([{:keys [svri]} c-hash tid upper-bound] + (coll/eduction + (lt-filter upper-bound) + (sp-vr/all-keys! svri c-hash tid))) + ([context c-hash tid lower-bound start-id] + (coll/eduction + (lt-filter lower-bound) + (all-keys! context c-hash tid start-id)))) + + (defn- invalid-date-time-value-msg [code value] (format "Invalid date-time value `%s` in search parameter `%s`." value code)) @@ -185,25 +215,29 @@ ([context c-hash tid {:keys [op lower-bound upper-bound]}] (case op :eq (eq-keys! context c-hash tid lower-bound upper-bound) - (:ge :gt) (ge-keys! context c-hash tid lower-bound) - (:le :lt) (le-keys! context c-hash tid upper-bound))) + :ge (ge-keys! context c-hash tid lower-bound) + :gt (gt-keys! context c-hash tid upper-bound) + :le (le-keys! context c-hash tid upper-bound) + :lt (lt-keys! context c-hash tid lower-bound))) ([context c-hash tid {:keys [op lower-bound upper-bound]} start-id] (case op :eq (eq-keys! context c-hash tid lower-bound upper-bound start-id) - (:ge :gt) (ge-keys! context c-hash tid lower-bound start-id) - (:le :lt) (le-keys! context c-hash tid upper-bound start-id)))) + :ge (ge-keys! context c-hash tid lower-bound start-id) + :gt (gt-keys! context c-hash tid upper-bound start-id) + :le (le-keys! context c-hash tid upper-bound start-id) + :lt (lt-keys! context c-hash tid lower-bound start-id)))) (defn- matches? [{:keys [rsvi]} c-hash resource-handle {:keys [op] q-lb :lower-bound q-ub :upper-bound}] (when-let [v (r-sp-v/next-value! rsvi resource-handle c-hash)] - (let [v-lb (codec/date-lb-ub->lb v) - v-ub (codec/date-lb-ub->ub v)] - (case op - :eq (eq-overlaps? v-lb v-ub q-lb q-ub) - (:ge :gt) (ge-overlaps? v-lb v-ub q-lb) - (:le :lt) (le-overlaps? v-lb v-ub q-ub))))) + (case op + :eq (eq-overlaps? v q-lb q-ub) + :ge (ge-overlaps? q-lb v) + :gt (gt-overlaps? q-ub v) + :le (le-overlaps? v q-ub) + :lt (lt-overlaps? v q-lb)))) (defrecord SearchParamDate [name url type base code c-hash expression] @@ -214,14 +248,20 @@ (case op :eq {:op op - :lower-bound (date-lb date-time-value) - :upper-bound (date-ub date-time-value)} - (:ge :gt) + :lower-bound (codec-date/encode-lower-bound date-time-value) + :upper-bound (codec-date/encode-upper-bound date-time-value)} + :ge + {:op op + :lower-bound (codec-date/encode-lower-bound date-time-value)} + :gt + {:op op + :upper-bound (codec-date/encode-upper-bound date-time-value)} + :le {:op op - :lower-bound (date-lb date-time-value)} - (:le :lt) + :upper-bound (codec-date/encode-upper-bound date-time-value)} + :lt {:op op - :upper-bound (date-ub date-time-value)} + :lower-bound (codec-date/encode-lower-bound date-time-value)} (ba/unsupported (u/unsupported-prefix-msg code op))) #(assoc % ::anom/message (invalid-date-time-value-msg code value))))) diff --git a/modules/db/src/blaze/db/node/transaction.clj b/modules/db/src/blaze/db/node/transaction.clj index d5474ecf6..9655555c7 100644 --- a/modules/db/src/blaze/db/node/transaction.clj +++ b/modules/db/src/blaze/db/node/transaction.clj @@ -30,8 +30,14 @@ (assoc :if-none-exist clauses))})) +(defn- prepare-if-none-match [if-none-match] + (if (= :any if-none-match) + "*" + if-none-match)) + + (defmethod prepare-op :put - [{:keys [references-fn]} [op resource matches]] + [{:keys [references-fn]} [op resource [precond-op precond]]] (let [hash (hash/generate resource) refs (references-fn resource)] {:hash-resource @@ -44,8 +50,10 @@ :hash hash} (seq refs) (assoc :refs refs) - matches - (assoc :if-match matches))})) + (identical? :if-match precond-op) + (assoc :if-match precond) + (identical? :if-none-match precond-op) + (assoc :if-none-match (prepare-if-none-match precond)))})) (defmethod prepare-op :delete diff --git a/modules/db/src/blaze/db/node/tx_indexer/verify.clj b/modules/db/src/blaze/db/node/tx_indexer/verify.clj index a6a04d9a8..a8212df41 100644 --- a/modules/db/src/blaze/db/node/tx_indexer/verify.clj +++ b/modules/db/src/blaze/db/node/tx_indexer/verify.clj @@ -147,9 +147,13 @@ (update-in [:stats tid :total] (fnil inc 0)))))) -(defn- verify-tx-cmd-put-msg [type id matches] - (if matches - (format "verify-tx-cmd :put %s/%s matches-t: %d" type id matches) +(defn- verify-tx-cmd-put-msg [type id if-match if-none-match] + (cond + if-match + (format "verify-tx-cmd :put %s/%s if-match: %d" type id if-match) + if-none-match + (format "verify-tx-cmd :put %s/%s if-none-match: %s" type id if-none-match) + :else (format "verify-tx-cmd :put %s/%s" type id))) @@ -161,21 +165,46 @@ (ba/conflict (precondition-failed-msg if-match type id) :http/status 412)) +(defn- precondition-any-failed-msg [type id] + (format "Resource `%s/%s` already exists." type id)) + + +(defn- precondition-any-failed-anomaly [type id] + (ba/conflict (precondition-any-failed-msg type id) :http/status 412)) + + +(defn- precondition-version-failed-msg [type id if-none-match] + (format "Resource `%s/%s` with version %d already exists." type id if-none-match)) + + +(defn- precondition-version-failed-anomaly [type id if-none-match] + (ba/conflict (precondition-version-failed-msg type id if-none-match) :http/status 412)) + + (defmethod verify-tx-cmd "put" - [db-before t res {:keys [type id hash if-match]}] - (log/trace (verify-tx-cmd-put-msg type id if-match)) + [db-before t res {:keys [type id hash if-match if-none-match]}] + (log/trace (verify-tx-cmd-put-msg type id if-match if-none-match)) (with-open [_ (prom/timer duration-seconds "verify-put")] (let [tid (codec/tid type) {:keys [num-changes op] :or {num-changes 0} old-t :t} (d/resource-handle db-before type id)] - (if (or (nil? if-match) (= if-match old-t)) + (cond + (and if-match (not= if-match old-t)) + (throw-anom (precondition-failed-anomaly if-match type id)) + + (and (some? old-t) (= "*" if-none-match)) + (throw-anom (precondition-any-failed-anomaly type id)) + + (and (some? old-t) (= if-none-match old-t)) + (throw-anom (precondition-version-failed-anomaly type id if-none-match)) + + :else (cond-> (-> (update res :entries into (index-entries tid id t hash (inc num-changes) :put)) (update :new-resources conj [type id]) (update-in [:stats tid :num-changes] (fnil inc 0))) (or (nil? old-t) (identical? :delete op)) - (update-in [:stats tid :total] (fnil inc 0))) - (throw-anom (precondition-failed-anomaly if-match type id)))))) + (update-in [:stats tid :total] (fnil inc 0))))))) (defmethod verify-tx-cmd "delete" diff --git a/modules/db/src/blaze/db/spec.clj b/modules/db/src/blaze/db/spec.clj index 19821f07d..3c63b8db6 100644 --- a/modules/db/src/blaze/db/spec.clj +++ b/modules/db/src/blaze/db/spec.clj @@ -72,10 +72,27 @@ :if-none-exist (s/? :blaze.db.tx-cmd/if-none-exist))) +(defmulti put-precond-op "Put precondition operator" first) + + +(defmethod put-precond-op :if-match [_] + (s/cat :op #{:if-match} + :t :blaze.db/t)) + + +(defmethod put-precond-op :if-none-match [_] + (s/cat :op #{:if-none-match} + :val (s/or :any #{:any} :t :blaze.db/t))) + + +(s/def :blaze.db.tx-op.put/precondition + (s/multi-spec put-precond-op first)) + + (defmethod tx-op :put [_] (s/cat :op #{:put} :resource :blaze/resource - :matches (s/? :blaze.db/t))) + :precondition (s/? :blaze.db.tx-op.put/precondition))) (defmethod tx-op :delete [_] diff --git a/modules/db/test/blaze/db/api_test.clj b/modules/db/test/blaze/db/api_test.clj index ad1d0bde6..dc289173c 100644 --- a/modules/db/test/blaze/db/api_test.clj +++ b/modules/db/test/blaze/db/api_test.clj @@ -297,7 +297,30 @@ :id := "0" :gender := #fhir/code"female" [:meta :versionId] := #fhir/id"2" - [meta :blaze.db/op] := :put))) + [meta :blaze.db/op] := :put)) + + (testing "with if-none-match" + (testing "of any" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + + (given-failed-future + (d/transact + node + [[:put {:fhir/type :fhir/Patient :id "0"} [:if-none-match :any]]]) + ::anom/category := ::anom/conflict + ::anom/message := "Resource `Patient/0` already exists."))) + + (testing "of 1" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + + (given-failed-future + (d/transact + node + [[:put {:fhir/type :fhir/Patient :id "0"} [:if-none-match 1]]]) + ::anom/category := ::anom/conflict + ::anom/message := "Resource `Patient/0` with version 1 already exists."))))) (testing "Diamond Reference Dependencies" (with-system-data [{:blaze.db/keys [node]} system] @@ -1353,159 +1376,252 @@ ::anom/category := ::anom/unsupported ::anom/message := "Unsupported prefix `ne` in search parameter `birthdate`.")) - (testing "with ge/gt prefix" - (doseq [prefix ["ge" "gt"]] - (testing "with day precision" - (testing "overlapping four patients" - (testing "starting at the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]]) - count := 4 - [0 :id] := "id-2" - [1 :id] := "id-1" - [2 :id] := "id-0" - [3 :id] := "id-4") - - (testing "it is possible to start with the second patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-1") - count := 3 - [0 :id] := "id-1" - [1 :id] := "id-0" - [2 :id] := "id-4")) - - (testing "it is possible to start with the third patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-0") - count := 2 - [0 :id] := "id-0" - [1 :id] := "id-4")) - - (testing "it is possible to start with the fourth patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-4") - count := 1 - [0 :id] := "id-4"))) - - (testing "starting before the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-07")]]) - count := 4 - [0 :id] := "id-2" - [1 :id] := "id-1" - [2 :id] := "id-0" - [3 :id] := "id-4"))) + (testing "with ge prefix" + (testing "with day precision" + (testing "overlapping four patients" + (testing "starting at the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-08"]]) + count := 4 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-0" + [3 :id] := "id-4") - (testing "overlapping three patients" - (testing "starting after the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-09")]]) + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-08"]] "id-1") count := 3 - [0 :id] := "id-2" - [1 :id] := "id-1" + [0 :id] := "id-1" + [1 :id] := "id-0" [2 :id] := "id-4")) - (testing "starting at the last day of 2020-02" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-29")]]) - count := 3 - [0 :id] := "id-2" - [1 :id] := "id-1" - [2 :id] := "id-4"))) - - (testing "overlapping two patients" - (testing "starting at the first day of 2020-03" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-03-01")]]) + (testing "it is possible to start with the third patient" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-08"]] "id-0") count := 2 - [0 :id] := "id-2" + [0 :id] := "id-0" [1 :id] := "id-4")) - (testing "starting at the last day of 2020" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-12-31")]]) + (testing "it is possible to start with the fourth patient" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-08"]] "id-4") + count := 1 + [0 :id] := "id-4"))) + + (testing "starting before the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-07"]]) + count := 4 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-0" + [3 :id] := "id-4"))) + + (testing "overlapping three patients" + (testing "starting after the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-09"]]) + count := 3 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-4")) + + (testing "starting at the last day of 2020-02" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-02-29"]]) + count := 3 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-4"))) + + (testing "overlapping two patients" + (testing "starting at the first day of 2020-03" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-03-01"]]) + count := 2 + [0 :id] := "id-2" + [1 :id] := "id-4")) + + (testing "starting at the last day of 2020" + (given (pull-type-query node "Patient" [["birthdate" "ge2020-12-31"]]) + count := 2 + [0 :id] := "id-2" + [1 :id] := "id-4"))) + + (testing "overlapping one patient" + (testing "starting at the first day of 2021" + (given (pull-type-query node "Patient" [["birthdate" "ge2021-01-01"]]) + count := 1 + [0 :id] := "id-4"))) + + (testing "overlapping no patient" + (testing "starting at the first day of 2022" + (given (pull-type-query node "Patient" [["birthdate" "ge2022-01-01"]]) + count := 0))))) + + (testing "with gt prefix" + (testing "with day precision" + (testing "overlapping three patients" + (testing "starting at the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-08"]]) + count := 3 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-4") + + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-08"]] "id-1") count := 2 - [0 :id] := "id-2" - [1 :id] := "id-4"))) + [0 :id] := "id-1" + [1 :id] := "id-4")) - (testing "overlapping one patient" - (testing "starting at the first day of 2021" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2021-01-01")]]) + (testing "it is possible to start with the third patient" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-08"]] "id-4") count := 1 [0 :id] := "id-4"))) - (testing "overlapping no patient" - (testing "starting at the first day of 2022" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2022-01-01")]]) - count := 0)))))) - - (testing "with le/lt prefix" - (doseq [prefix ["le" "lt"]] - (testing "with day precision" - (testing "overlapping four patients" - (testing "starting at the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]]) - count := 4 - [0 :id] := "id-3" - [1 :id] := "id-2" - [2 :id] := "id-1" - [3 :id] := "id-0") - - (testing "it is possible to start with the second patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-2") - count := 3 - [0 :id] := "id-2" - [1 :id] := "id-1" - [2 :id] := "id-0")) - - (testing "it is possible to start with the third patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-1") - count := 2 - [0 :id] := "id-1" - [1 :id] := "id-0")) - - (testing "it is possible to start with the fourth patient" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-08")]] "id-0") - count := 1 - [0 :id] := "id-0"))) - - (testing "starting after the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-09")]]) - count := 4 - [0 :id] := "id-3" - [1 :id] := "id-2" - [2 :id] := "id-1" - [3 :id] := "id-0"))) - - (testing "overlapping three patients" - (testing "starting before the most specific birthdate" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-07")]]) - count := 3 - [0 :id] := "id-3" - [1 :id] := "id-2" - [2 :id] := "id-1")) + (testing "starting before the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-07"]]) + count := 4 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-0" + [3 :id] := "id-4"))) + + (testing "overlapping three patients" + (testing "starting after the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-09"]]) + count := 3 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-4")) - (testing "starting at the first day of 2020-02" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-02-01")]]) - count := 3 - [0 :id] := "id-3" - [1 :id] := "id-2" - [2 :id] := "id-1"))) + (testing "starting at the last day of 2020-02" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-02-29"]]) + count := 2 + [0 :id] := "id-2" + [1 :id] := "id-4"))) - (testing "overlapping two patients" - (testing "starting at the last day of 2020-01" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-01-31")]]) + (testing "overlapping two patients" + (testing "starting at the first day of 2020-03" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-03-01"]]) + count := 2 + [0 :id] := "id-2" + [1 :id] := "id-4")) + + (testing "starting at the last day of 2020" + (given (pull-type-query node "Patient" [["birthdate" "gt2020-12-31"]]) + count := 1 + [0 :id] := "id-4"))) + + (testing "overlapping one patient" + (testing "starting at the first day of 2021" + (given (pull-type-query node "Patient" [["birthdate" "gt2021-01-01"]]) + count := 1 + [0 :id] := "id-4"))) + + (testing "overlapping no patient" + (testing "starting at the first day of 2022" + (given (pull-type-query node "Patient" [["birthdate" "gt2022-01-01"]]) + count := 0))))) + + (testing "with lt prefix" + (testing "with day precision" + (testing "overlapping three patients" + (testing "starting at the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "lt2020-02-08"]]) + count := 3 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1") + + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "lt2020-02-08"]] "id-2") count := 2 - [0 :id] := "id-3" - [1 :id] := "id-2")) + [0 :id] := "id-2" + [1 :id] := "id-1")) + + (testing "it is possible to start with the third patient" + (given (pull-type-query node "Patient" [["birthdate" "lt2020-02-08"]] "id-1") + count := 1 + [0 :id] := "id-1"))) + + (testing "starting after the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "lt2020-02-09"]]) + count := 4 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1" + [3 :id] := "id-0"))))) + + (testing "with le prefix" + (testing "with day precision" + (testing "overlapping four patients" + (testing "starting at the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-08"]]) + count := 4 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1" + [3 :id] := "id-0") + + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-08"]] "id-2") + count := 3 + [0 :id] := "id-2" + [1 :id] := "id-1" + [2 :id] := "id-0")) - (testing "starting at the first day of 2020" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2020-01-01")]]) + (testing "it is possible to start with the third patient" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-08"]] "id-1") count := 2 - [0 :id] := "id-3" - [1 :id] := "id-2"))) + [0 :id] := "id-1" + [1 :id] := "id-0")) - (testing "overlapping one patient" - (testing "starting at the last day of 2019" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2019-12-31")]]) + (testing "it is possible to start with the fourth patient" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-08"]] "id-0") count := 1 - [0 :id] := "id-3"))) + [0 :id] := "id-0"))) + + (testing "starting after the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-09"]]) + count := 4 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1" + [3 :id] := "id-0"))) + + (testing "overlapping three patients" + (testing "starting before the most specific birthdate" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-07"]]) + count := 3 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1")) + + (testing "starting at the first day of 2020-02" + (given (pull-type-query node "Patient" [["birthdate" "le2020-02-01"]]) + count := 3 + [0 :id] := "id-3" + [1 :id] := "id-2" + [2 :id] := "id-1"))) + + (testing "overlapping two patients" + (testing "starting at the last day of 2020-01" + (given (pull-type-query node "Patient" [["birthdate" "le2020-01-31"]]) + count := 2 + [0 :id] := "id-3" + [1 :id] := "id-2")) + + (testing "starting at the first day of 2020" + (given (pull-type-query node "Patient" [["birthdate" "le2020-01-01"]]) + count := 2 + [0 :id] := "id-3" + [1 :id] := "id-2"))) - (testing "overlapping no patient" - (testing "starting at the last day of 2018" - (given (pull-type-query node "Patient" [["birthdate" (str prefix "2018-12-31")]]) - count := 0))))))) + (testing "overlapping one patient" + (testing "starting at the last day of 2019" + (given (pull-type-query node "Patient" [["birthdate" "le2019-12-31"]]) + count := 1 + [0 :id] := "id-3"))) + + (testing "overlapping no patient" + (testing "starting at the last day of 2018" + (given (pull-type-query node "Patient" [["birthdate" "le2018-12-31"]]) + count := 0)))))) (testing "gender and birthdate" (given (pull-type-query node "Patient" [["gender" "male" "female"] @@ -1523,44 +1639,71 @@ [2 :id] := "id-2")) (testing "gender and birthdate with prefix" - (testing "with ge/gt prefix" - (doseq [prefix ["ge" "gt"]] - (given (pull-type-query node "Patient" [["gender" "male" "female"] - ["birthdate" (str prefix "2020")]]) - count := 3 - [0 :id] := "id-0" - [1 :id] := "id-1" - [2 :id] := "id-2") + (testing "with ge prefix" + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "ge2020"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2") - (given (pull-type-query node "Patient" [["gender" "male" "female"] - ["birthdate" (str prefix "2020-02-07")]]) - count := 3 - [0 :id] := "id-0" - [1 :id] := "id-1" - [2 :id] := "id-2"))) + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "ge2020-02-07"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2")) - (testing "with le/lt prefix" - (doseq [prefix ["le" "lt"]] - (given (pull-type-query node "Patient" [["gender" "male" "female"] - ["birthdate" (str prefix "2020")]]) - count := 3 - [0 :id] := "id-0" - [1 :id] := "id-1" - [2 :id] := "id-2") + (testing "with gt prefix" + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "gt2020"]]) + count := 0) - (given (pull-type-query node "Patient" [["gender" "male" "female"] - ["birthdate" (str prefix "2020-02")]]) - count := 3 - [0 :id] := "id-0" - [1 :id] := "id-1" - [2 :id] := "id-2") + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "gt2020-02-07"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2")) - (given (pull-type-query node "Patient" [["gender" "male" "female"] - ["birthdate" (str prefix "2021")]]) - count := 3 - [0 :id] := "id-0" - [1 :id] := "id-1" - [2 :id] := "id-2")))) + (testing "with le prefix" + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "le2020"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2") + + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "le2020-02"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2") + + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "le2021"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2")) + + (testing "with lt prefix" + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "lt2020"]]) + count := 0) + + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "lt2020-02"]]) + count := 1 + [0 :id] := "id-2") + + (given (pull-type-query node "Patient" [["gender" "male" "female"] + ["birthdate" "lt2021"]]) + count := 3 + [0 :id] := "id-0" + [1 :id] := "id-1" + [2 :id] := "id-2"))) (testing "deceased" (given (pull-type-query node "Patient" [["deceased" "true"]]) @@ -2900,6 +3043,98 @@ [0 :id] := "1")))))) +(deftest type-query-date-test + (testing "less than" + (testing "year precision" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :birthDate #fhir/date"1990"}] + [:put {:fhir/type :fhir/Patient :id "1" + :birthDate #fhir/date"1989"}] + [:put {:fhir/type :fhir/Patient :id "2" + :birthDate #fhir/date"1988"}]]] + + (given (pull-type-query node "Patient" [["birthdate" "lt1990"]]) + count := 2 + [0 :id] := "2" + [1 :id] := "1") + + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "lt1990"]] "1") + count := 1 + [0 :id] := "1")))) + + (testing "day precision" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :birthDate #fhir/date"2022-12-14"}] + [:put {:fhir/type :fhir/Patient :id "1" + :birthDate #fhir/date"2022-12-13"}]]] + + (given (pull-type-query node "Patient" [["birthdate" "lt2022-12-14"]]) + count := 1 + [0 :id] := "1"))) + + (testing "as second clause" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :gender #fhir/code"male" + :birthDate #fhir/date"2022-12-14"}] + [:put {:fhir/type :fhir/Patient :id "1" + :gender #fhir/code"male" + :birthDate #fhir/date"2022-12-13"}]]] + + (given (pull-type-query node "Patient" [["gender" "male"] + ["birthdate" "lt2022-12-14"]]) + count := 1 + [0 :id] := "1")))) + + (testing "greater than" + (testing "year precision" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :birthDate #fhir/date"1990"}] + [:put {:fhir/type :fhir/Patient :id "1" + :birthDate #fhir/date"1991"}] + [:put {:fhir/type :fhir/Patient :id "2" + :birthDate #fhir/date"1992"}]]] + + (given (pull-type-query node "Patient" [["birthdate" "gt1990"]]) + count := 2 + [0 :id] := "1" + [1 :id] := "2") + + (testing "it is possible to start with the second patient" + (given (pull-type-query node "Patient" [["birthdate" "gt1990"]] "2") + count := 1 + [0 :id] := "2")))) + + (testing "day precision" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :birthDate #fhir/date"2022-12-14"}] + [:put {:fhir/type :fhir/Patient :id "1" + :birthDate #fhir/date"2022-12-15"}]]] + + (given (pull-type-query node "Patient" [["birthdate" "gt2022-12-14"]]) + count := 1 + [0 :id] := "1"))) + + (testing "as second clause" + (with-system-data [{:blaze.db/keys [node]} system] + [[[:put {:fhir/type :fhir/Patient :id "0" + :gender #fhir/code"male" + :birthDate #fhir/date"2022-12-14"}] + [:put {:fhir/type :fhir/Patient :id "1" + :gender #fhir/code"male" + :birthDate #fhir/date"2022-12-15"}]]] + + (given (pull-type-query node "Patient" [["gender" "male"] + ["birthdate" "gt2022-12-14"]]) + count := 1 + [0 :id] := "1"))))) + + (deftest type-query-forward-chaining-test (testing "Encounter" (with-system-data [{:blaze.db/keys [node]} system] diff --git a/modules/db/test/blaze/db/impl/codec/date_spec.clj b/modules/db/test/blaze/db/impl/codec/date_spec.clj new file mode 100644 index 000000000..19d583325 --- /dev/null +++ b/modules/db/test/blaze/db/impl/codec/date_spec.clj @@ -0,0 +1,38 @@ +(ns blaze.db.impl.codec.date-spec + (:require + [blaze.byte-string :refer [byte-string?]] + [blaze.byte-string-spec] + [blaze.db.api-spec] + [blaze.db.impl.codec.date :as codec-date] + [blaze.db.impl.codec.spec] + [blaze.fhir.spec] + [blaze.fhir.spec.type.system-spec] + [blaze.fhir.spec.type.system.spec] + [clojure.spec.alpha :as s] + [clojure.test.check])) + + +(s/fdef codec-date/encode-lower-bound + :args (s/cat :date-time :system/date-or-date-time) + :ret byte-string?) + + +(s/fdef codec-date/encode-upper-bound + :args (s/cat :date-time :system/date-or-date-time) + :ret byte-string?) + + +(s/fdef codec-date/encode-range + :args (s/cat :start (s/nilable :system/date-or-date-time) + :end (s/? (s/nilable :system/date-or-date-time))) + :ret byte-string?) + + +(s/fdef codec-date/lower-bound-bytes + :args (s/cat :date-range byte-string?) + :ret byte-string?) + + +(s/fdef codec-date/upper-bound-bytes + :args (s/cat :date-range byte-string?) + :ret byte-string?) diff --git a/modules/db/test/blaze/db/impl/codec/date_test.clj b/modules/db/test/blaze/db/impl/codec/date_test.clj new file mode 100644 index 000000000..09831c950 --- /dev/null +++ b/modules/db/test/blaze/db/impl/codec/date_test.clj @@ -0,0 +1,98 @@ +(ns blaze.db.impl.codec.date-test + (:require + [blaze.byte-string :as bs] + [blaze.db.impl.codec-spec] + [blaze.db.impl.codec.date :as codec-date] + [blaze.db.impl.index.search-param-value-resource-spec] + [blaze.test-util :refer [satisfies-prop]] + [clojure.spec.alpha :as s] + [clojure.spec.test.alpha :as st] + [clojure.test :as test :refer [are deftest testing]] + [clojure.test.check.properties :as prop]) + (:import + [java.time OffsetDateTime ZoneOffset])) + + +(set! *warn-on-reflection* true) +(st/instrument) + + +(defn- fixture [f] + (st/instrument) + (f) + (st/unstrument)) + + +(test/use-fixtures :each fixture) + + +(deftest encode-lower-bound-test + (testing "year" + (are [date hex] (= hex (bs/hex (codec-date/encode-lower-bound date))) + #system/date"1970" "80" + #system/date-time"1970" "80")) + + (testing "year-month" + (are [date hex] (= hex (bs/hex (codec-date/encode-lower-bound date))) + #system/date"1970-01" "80" + #system/date-time"1970-01" "80")) + + (testing "local-date" + (are [date hex] (= hex (bs/hex (codec-date/encode-lower-bound date))) + #system/date"1970-01-01" "80" + #system/date-time"1970-01-01" "80")) + + (testing "local-date-time" + (are [date hex] (= hex (bs/hex (codec-date/encode-lower-bound date))) + #system/date-time"1970-01-01T00:00" "80")) + + (testing "offset-date-time" + (are [date hex] (= hex (bs/hex (codec-date/encode-lower-bound date))) + (OffsetDateTime/of 1970 1 1 0 0 0 0 ZoneOffset/UTC) "80" + (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours 2)) "6FE3E0" + (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours 1)) "6FF1F0" + (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours -1)) "900E10" + (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours -2)) "901C20"))) + + +(deftest encode-upper-bound-test + (testing "year" + (are [date hex] (= hex (bs/hex (codec-date/encode-upper-bound date))) + #system/date"1969" "7F" + #system/date-time"1969" "7F")) + + (testing "year-month" + (are [date hex] (= hex (bs/hex (codec-date/encode-upper-bound date))) + #system/date"1969-12" "7F" + #system/date-time"1969-12" "7F")) + + (testing "local-date" + (are [date hex] (= hex (bs/hex (codec-date/encode-upper-bound date))) + #system/date"1969-12-31" "7F" + #system/date-time"1969-12-31" "7F")) + + (testing "local-date-time" + (are [date hex] (= hex (bs/hex (codec-date/encode-upper-bound date))) + #system/date-time"1969-12-31T23:59:59" "7F")) + + (testing "offset-date-time" + (are [date hex] (= hex (bs/hex (codec-date/encode-upper-bound date))) + (OffsetDateTime/of 1969 12 31 23 59 59 0 ZoneOffset/UTC) "7F" + (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours 2)) "6FE3DF" + (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours 1)) "6FF1EF" + (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours -1)) "900E0F" + (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours -2)) "901C1F"))) + + +(deftest encode-range-test + (testing "extract lower bound" + (satisfies-prop 100 + (prop/for-all [date (s/gen :system/date)] + (= (codec-date/lower-bound-bytes (codec-date/encode-range date)) + (codec-date/encode-lower-bound date))))) + + (testing "extract upper bound" + (satisfies-prop 100 + (prop/for-all [date (s/gen :system/date)] + (= (codec-date/upper-bound-bytes (codec-date/encode-range date)) + (codec-date/encode-upper-bound date)))))) diff --git a/modules/db/test/blaze/db/impl/codec_spec.clj b/modules/db/test/blaze/db/impl/codec_spec.clj index 8a0b6e6da..71ca65cc6 100644 --- a/modules/db/test/blaze/db/impl/codec_spec.clj +++ b/modules/db/test/blaze/db/impl/codec_spec.clj @@ -6,12 +6,10 @@ [blaze.db.impl.codec :as codec] [blaze.db.impl.codec.spec] [blaze.fhir.spec] - [blaze.fhir.spec.type.system :as system] [blaze.fhir.spec.type.system-spec] + [blaze.fhir.spec.type.system.spec] [clojure.spec.alpha :as s] - [clojure.test.check]) - (:import - [java.time ZoneId])) + [clojure.test.check])) @@ -59,23 +57,6 @@ :ret byte-string?) -(s/fdef codec/date-lb - :args (s/cat :zone-id #(instance? ZoneId %) - :date-time (s/or :date system/date? :date-time system/date-time?)) - :ret byte-string?) - - -(s/fdef codec/date-ub - :args (s/cat :zone-id #(instance? ZoneId %) - :date-time (s/or :date system/date? :date-time system/date-time?)) - :ret byte-string?) - - -(s/fdef codec/date-lb-ub - :args (s/cat :lb byte-string? :ub byte-string?) - :ret byte-string?) - - (s/fdef codec/number :args (s/cat :number number?) :ret byte-string?) diff --git a/modules/db/test/blaze/db/impl/codec_test.clj b/modules/db/test/blaze/db/impl/codec_test.clj index 89ecdb1b0..d12a405eb 100644 --- a/modules/db/test/blaze/db/impl/codec_test.clj +++ b/modules/db/test/blaze/db/impl/codec_test.clj @@ -11,8 +11,7 @@ [clojure.test.check.generators :as gen] [clojure.test.check.properties :as prop]) (:import - [java.nio.charset StandardCharsets] - [java.time OffsetDateTime ZoneOffset])) + [java.nio.charset StandardCharsets])) (set! *warn-on-reflection* true) @@ -67,83 +66,12 @@ (bs/to-string (apply codec/string [s]) StandardCharsets/UTF_8))))) -(def zo - (ZoneOffset/ofHours 0)) - - -(deftest date-lb-test - (testing "year" - (are [date hex] (= hex (bs/hex (codec/date-lb zo date))) - #system/date"1970" "80" - #system/date-time"1970" "80")) - - (testing "year-month" - (are [date hex] (= hex (bs/hex (codec/date-lb zo date))) - #system/date"1970-01" "80" - #system/date-time"1970-01" "80")) - - (testing "local-date" - (are [date hex] (= hex (bs/hex (codec/date-lb zo date))) - #system/date"1970-01-01" "80" - #system/date-time"1970-01-01" "80")) - - (testing "local-date-time" - (are [date hex] (= hex (bs/hex (codec/date-lb zo date))) - #system/date-time"1970-01-01T00:00" "80")) - - (testing "offset-date-time" - (are [date hex] (= hex (bs/hex (codec/date-lb zo date))) - (OffsetDateTime/of 1970 1 1 0 0 0 0 ZoneOffset/UTC) "80" - (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours 2)) "6FE3E0" - (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours 1)) "6FF1F0" - (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours -1)) "900E10" - (OffsetDateTime/of 1970 1 1 0 0 0 0 (ZoneOffset/ofHours -2)) "901C20"))) - - -(deftest date-ub-test - (testing "year" - (are [date hex] (= hex (bs/hex (codec/date-ub zo date))) - #system/date"1969" "7F" - #system/date-time"1969" "7F")) - - (testing "year-month" - (are [date hex] (= hex (bs/hex (codec/date-ub zo date))) - #system/date"1969-12" "7F" - #system/date-time"1969-12" "7F")) - - (testing "local-date" - (are [date hex] (= hex (bs/hex (codec/date-ub zo date))) - #system/date"1969-12-31" "7F" - #system/date-time"1969-12-31" "7F")) - - (testing "local-date-time" - (are [date hex] (= hex (bs/hex (codec/date-ub zo date))) - #system/date-time"1969-12-31T23:59:59" "7F")) - - (testing "offset-date-time" - (are [date hex] (= hex (bs/hex (codec/date-ub zo date))) - (OffsetDateTime/of 1969 12 31 23 59 59 0 ZoneOffset/UTC) "7F" - (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours 2)) "6FE3DF" - (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours 1)) "6FF1EF" - (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours -1)) "900E0F" - (OffsetDateTime/of 1969 12 31 23 59 59 0 (ZoneOffset/ofHours -2)) "901C1F"))) - - -(deftest date-lb-ub-test - (testing "extract lower bound" - (is (= - (codec/date-lb-ub->lb - (codec/date-lb-ub (codec/date-lb zo #system/date"2020") (codec/date-ub zo #system/date"2020"))) - (codec/date-lb zo #system/date"2020")))) - - (testing "extract upper bound" - (is (= - (codec/date-lb-ub->ub - (codec/date-lb-ub (codec/date-lb zo #system/date"2020") (codec/date-ub zo #system/date"2020"))) - (codec/date-ub zo #system/date"2020"))))) - - (deftest number-test + (testing "encode/decode" + (satisfies-prop 10000 + (prop/for-all [i (s/gen int?)] + (= i (codec/decode-number (codec/number i)))))) + (testing "long" (are [n hex] (= hex (bs/hex (codec/number n))) Long/MIN_VALUE "3F8000000000000000" diff --git a/modules/db/test/blaze/db/impl/search_param/date_test.clj b/modules/db/test/blaze/db/impl/search_param/date_test.clj index 9649c60c8..b1a274080 100644 --- a/modules/db/test/blaze/db/impl/search_param/date_test.clj +++ b/modules/db/test/blaze/db/impl/search_param/date_test.clj @@ -3,6 +3,7 @@ [blaze.byte-buffer :as bb] [blaze.byte-string-spec] [blaze.db.impl.codec :as codec] + [blaze.db.impl.codec.date :as codec-date] [blaze.db.impl.index.search-param-value-resource-spec] [blaze.db.impl.index.search-param-value-resource-test-util :as sp-vr-tu] [blaze.db.impl.search-param :as search-param] @@ -22,7 +23,7 @@ [juxt.iota :refer [given]] [taoensso.timbre :as log]) (:import - [java.time LocalDate OffsetDateTime ZoneId ZoneOffset])) + [java.time Instant])) (set! *warn-on-reflection* true) @@ -69,15 +70,27 @@ (given (search-param/compile-values (birth-date-param search-param-registry) nil ["ne2020"]) ::anom/category := ::anom/unsupported - ::anom/message := "Unsupported prefix `ne` in search parameter `birthdate`.")))) + ::anom/message := "Unsupported prefix `ne` in search parameter `birthdate`.")) + + (testing "less than" + (given (search-param/compile-values + (birth-date-param search-param-registry) nil ["lt2020"]) + [0 :op] := :lt + [0 :lower-bound] := (codec-date/encode-lower-bound #system/date"2020"))))) -(defn- date-lb [date-time] - (codec/date-lb (ZoneId/systemDefault) date-time)) +(defn- lower-bound-instant [date-range-bytes] + (-> date-range-bytes + codec-date/lower-bound-bytes + codec/decode-number + Instant/ofEpochSecond)) -(defn- date-ub [date-time] - (codec/date-ub (ZoneId/systemDefault) date-time)) +(defn- upper-bound-instant [date-range-bytes] + (-> date-range-bytes + codec-date/upper-bound-bytes + codec/decode-number + Instant/ofEpochSecond)) (deftest index-entries-test @@ -96,9 +109,8 @@ (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "birthdate" :type := "Patient" - :v-hash := (codec/date-lb-ub - (date-lb (LocalDate/of 2020 2 4)) - (date-ub (LocalDate/of 2020 2 4))) + [:v-hash lower-bound-instant] := (Instant/parse "2020-02-04T00:00:00Z") + [:v-hash upper-bound-instant] := (Instant/parse "2020-02-04T23:59:59Z") :id := "id-142629" :hash-prefix := (hash/prefix hash))))) @@ -113,17 +125,12 @@ (sr/get search-param-registry "death-date" "Patient") [] hash patient)] - (testing "the entry is about both bounds of `2020-01-01T00:00:00Z`" + (testing "the entry is about both bounds of `2019-11-16T23:14:29Z`" (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "death-date" :type := "Patient" - :v-hash := (codec/date-lb-ub - (date-lb - (OffsetDateTime/of 2019 11 17 0 14 29 0 - (ZoneOffset/ofHours 1))) - (date-ub - (OffsetDateTime/of 2019 11 17 0 14 29 0 - (ZoneOffset/ofHours 1)))) + [:v-hash lower-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") + [:v-hash upper-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") :id := "id-142629" :hash-prefix := (hash/prefix hash)))))) @@ -146,13 +153,8 @@ (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "date" :type := "Encounter" - :v-hash := (codec/date-lb-ub - (date-lb - (OffsetDateTime/of 2019 11 17 0 14 29 0 - (ZoneOffset/ofHours 1))) - (date-ub - (OffsetDateTime/of 2019 11 17 0 44 29 0 - (ZoneOffset/ofHours 1)))) + [:v-hash lower-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") + [:v-hash upper-bound-instant] := (Instant/parse "2019-11-16T23:44:29Z") :id := "id-160224" :hash-prefix := (hash/prefix hash)))) @@ -173,9 +175,8 @@ (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "date" :type := "Encounter" - :v-hash := (codec/date-lb-ub - codec/date-min-bound - (date-ub (LocalDate/of 2019 11 17))) + [:v-hash lower-bound-instant] := (Instant/parse "0001-01-01T00:00:00Z") + [:v-hash upper-bound-instant] := (Instant/parse "2019-11-17T23:59:59Z") :id := "id-160224" :hash-prefix := (hash/prefix hash))))) @@ -196,11 +197,8 @@ (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "date" :type := "Encounter" - :v-hash := (codec/date-lb-ub - (date-lb - (OffsetDateTime/of 2019 11 17 0 14 29 0 - (ZoneOffset/ofHours 1))) - codec/date-max-bound) + [:v-hash lower-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") + [:v-hash upper-bound-instant] := (Instant/parse "9999-12-31T23:59:59Z") :id := "id-160224" :hash-prefix := (hash/prefix hash))))))) @@ -219,13 +217,8 @@ (given (sp-vr-tu/decode-key-human (bb/wrap k0)) :code := "issued" :type := "DiagnosticReport" - :v-hash := (codec/date-lb-ub - (date-lb - (OffsetDateTime/of 2019 11 17 0 14 29 917 - (ZoneOffset/ofHours 1))) - (date-ub - (OffsetDateTime/of 2019 11 17 0 14 29 917 - (ZoneOffset/ofHours 1)))) + [:v-hash lower-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") + [:v-hash upper-bound-instant] := (Instant/parse "2019-11-16T23:14:29Z") :id := "id-155607" :hash-prefix := (hash/prefix hash)))))) diff --git a/modules/db/test/blaze/db/impl/search_param_test.clj b/modules/db/test/blaze/db/impl/search_param_test.clj index 19d0082ee..7226e5c74 100644 --- a/modules/db/test/blaze/db/impl/search_param_test.clj +++ b/modules/db/test/blaze/db/impl/search_param_test.clj @@ -2,6 +2,7 @@ (:require [blaze.byte-buffer :as bb] [blaze.db.impl.codec :as codec] + [blaze.db.impl.codec.date :as codec-date] [blaze.db.impl.index.resource-search-param-value-test-util :as r-sp-v-tu] [blaze.db.impl.index.search-param-value-resource-spec] [blaze.db.impl.index.search-param-value-resource-test-util :as sp-vr-tu] @@ -11,15 +12,12 @@ [blaze.fhir.hash :as hash] [blaze.fhir.hash-spec] [blaze.fhir.spec.type] - [blaze.fhir.spec.type.system :as system] [blaze.fhir.structure-definition-repo] [blaze.test-util :refer [with-system]] [clojure.spec.test.alpha :as st] [clojure.test :as test :refer [are deftest is testing]] [integrant.core :as ig] - [juxt.iota :refer [given]]) - (:import - [java.time ZoneId])) + [juxt.iota :refer [given]])) (set! *warn-on-reflection* true) @@ -59,8 +57,8 @@ :upper-bound := upper-bound) "2020-10-30" :eq - (codec/date-lb (ZoneId/systemDefault) (system/parse-date-time "2020-10-30")) - (codec/date-ub (ZoneId/systemDefault) (system/parse-date-time "2020-10-30")))))) + (codec-date/encode-lower-bound #system/date-time"2020-10-30") + (codec-date/encode-upper-bound #system/date-time"2020-10-30"))))) (deftest index-entries-test diff --git a/modules/db/test/blaze/db/node/resource_indexer_test.clj b/modules/db/test/blaze/db/node/resource_indexer_test.clj index be707b928..b9d9803e3 100644 --- a/modules/db/test/blaze/db/node/resource_indexer_test.clj +++ b/modules/db/test/blaze/db/node/resource_indexer_test.clj @@ -3,6 +3,7 @@ [blaze.byte-string :as bs] [blaze.byte-string-spec] [blaze.db.impl.codec :as codec] + [blaze.db.impl.codec.date :as codec-date] [blaze.db.impl.index.compartment.resource-test-util :as cr-tu] [blaze.db.impl.index.compartment.search-param-value-resource-test-util :as c-sp-vr-tu] @@ -32,7 +33,7 @@ [integrant.core :as ig] [taoensso.timbre :as log]) (:import - [java.time Instant LocalDate ZoneId])) + [java.time Instant LocalDate])) (set! *warn-on-reflection* true) @@ -252,13 +253,7 @@ ["code" (codec/v-hash "code-204441")] ["code" (codec/v-hash "system-204435|")] ["code" (codec/v-hash "system-204435|code-204441")] - ["onset-date" (codec/date-lb-ub - (codec/date-lb - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)) - (codec/date-ub - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)))] + ["onset-date" (codec-date/encode-range (LocalDate/of 2020 1 30))] ["subject" (codec/v-hash "Patient/id-145552")] ["subject" (codec/tid-id (codec/tid "Patient") @@ -281,13 +276,7 @@ ["code" (codec/v-hash "code-204441")] ["code" (codec/v-hash "system-204435|")] ["code" (codec/v-hash "system-204435|code-204441")] - ["onset-date" (codec/date-lb-ub - (codec/date-lb - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)) - (codec/date-ub - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)))] + ["onset-date" (codec-date/encode-range (LocalDate/of 2020 1 30))] ["subject" (codec/v-hash "Patient/id-145552")] ["subject" (codec/tid-id (codec/tid "Patient") @@ -315,13 +304,7 @@ ["code" (codec/v-hash "code-204441")] ["code" (codec/v-hash "system-204435|")] ["code" (codec/v-hash "system-204435|code-204441")] - ["onset-date" (codec/date-lb-ub - (codec/date-lb - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)) - (codec/date-ub - (ZoneId/systemDefault) - (LocalDate/of 2020 1 30)))] + ["onset-date" (codec-date/encode-range (LocalDate/of 2020 1 30))] ["subject" (codec/v-hash "Patient/id-145552")] ["subject" (codec/tid-id (codec/tid "Patient") @@ -398,13 +381,7 @@ (bs/concat (codec/v-hash "code-193824") (codec/quantity "http://unitsofmeasure.org|kg/m2" 23.42M))] - ["date" (codec/date-lb-ub - (codec/date-lb - (ZoneId/systemDefault) - (LocalDate/of 2005 6 17)) - (codec/date-ub - (ZoneId/systemDefault) - (LocalDate/of 2005 6 17)))] + ["date" (codec-date/encode-range (LocalDate/of 2005 6 17))] ["category" (codec/v-hash "system-193558|code-193603")] ["category" (codec/v-hash "system-193558|")] ["category" (codec/v-hash "code-193603")] diff --git a/modules/db/test/blaze/db/node/transaction_test.clj b/modules/db/test/blaze/db/node/transaction_test.clj index 4ef5d6f85..4a8a8615a 100644 --- a/modules/db/test/blaze/db/node/transaction_test.clj +++ b/modules/db/test/blaze/db/node/transaction_test.clj @@ -113,7 +113,7 @@ [0 0 :refs] :? empty?))) (testing "with matches" - (given (tx/prepare-ops context [[:put {:fhir/type :fhir/Patient :id "0"} 4]]) + (given (tx/prepare-ops context [[:put {:fhir/type :fhir/Patient :id "0"} [:if-match 4]]]) [0 0 :if-match] := 4))) (testing "delete" diff --git a/modules/db/test/blaze/db/node/tx_indexer/verify_test.clj b/modules/db/test/blaze/db/node/tx_indexer/verify_test.clj index 3cdb53391..1648989bf 100644 --- a/modules/db/test/blaze/db/node/tx_indexer/verify_test.clj +++ b/modules/db/test/blaze/db/node/tx_indexer/verify_test.clj @@ -92,7 +92,27 @@ (sao/encode-key 1 tid-patient (codec/id-byte-string "0")) value] (type-stats/index-entry tid-patient 1 {:total 1 :num-changes 1}) - (system-stats/index-entry 1 {:total 1 :num-changes 1})])))) + (system-stats/index-entry 1 {:total 1 :num-changes 1})]))) + + (testing "using if-none-match of `*`" + (with-system [{:blaze.db/keys [node]} system] + (is-entries= + (verify/verify-tx-cmds + (d/db node) 1 + [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0) + :if-none-match "*"}]) + (let [value (rts/encode-value (hash/generate patient-0) 1 :put)] + [[:resource-as-of-index + (rao/encode-key tid-patient (codec/id-byte-string "0") 1) + value] + [:type-as-of-index + (tao/encode-key tid-patient 1 (codec/id-byte-string "0")) + value] + [:system-as-of-index + (sao/encode-key 1 tid-patient (codec/id-byte-string "0")) + value] + (type-stats/index-entry tid-patient 1 {:total 1 :num-changes 1}) + (system-stats/index-entry 1 {:total 1 :num-changes 1})]))))) (testing "adding a second version of a patient to a store containing it already" (with-system [{:blaze.db/keys [node]} system] @@ -113,29 +133,29 @@ (sao/encode-key 2 tid-patient (codec/id-byte-string "0")) value] (type-stats/index-entry tid-patient 2 {:total 1 :num-changes 2}) - (system-stats/index-entry 2 {:total 1 :num-changes 2})])))) + (system-stats/index-entry 2 {:total 1 :num-changes 2})]))) - (testing "adding a second version of a patient to a store containing it already incl. matcher" - (with-system [{:blaze.db/keys [node]} system] - @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) + (testing "using matching if-match" + (with-system [{:blaze.db/keys [node]} system] + @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) - (is-entries= - (verify/verify-tx-cmds - (d/db node) 2 - [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0-v2) - :if-match 1}]) - (let [value (rts/encode-value (hash/generate patient-0-v2) 2 :put)] - [[:resource-as-of-index - (rao/encode-key tid-patient (codec/id-byte-string "0") 2) - value] - [:type-as-of-index - (tao/encode-key tid-patient 2 (codec/id-byte-string "0")) - value] - [:system-as-of-index - (sao/encode-key 2 tid-patient (codec/id-byte-string "0")) - value] - (type-stats/index-entry tid-patient 2 {:total 1 :num-changes 2}) - (system-stats/index-entry 2 {:total 1 :num-changes 2})])))) + (is-entries= + (verify/verify-tx-cmds + (d/db node) 2 + [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0-v2) + :if-match 1}]) + (let [value (rts/encode-value (hash/generate patient-0-v2) 2 :put)] + [[:resource-as-of-index + (rao/encode-key tid-patient (codec/id-byte-string "0") 2) + value] + [:type-as-of-index + (tao/encode-key tid-patient 2 (codec/id-byte-string "0")) + value] + [:system-as-of-index + (sao/encode-key 2 tid-patient (codec/id-byte-string "0")) + value] + (type-stats/index-entry tid-patient 2 {:total 1 :num-changes 2}) + (system-stats/index-entry 2 {:total 1 :num-changes 2})]))))) (testing "deleting a patient from an empty store" (with-system [{:blaze.db/keys [node]} system] @@ -242,17 +262,44 @@ (system-stats/index-entry 2 {:total 2 :num-changes 2})])))) (testing "update conflict" - (with-system [{:blaze.db/keys [node]} system] - @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) + (testing "using non-matching if-match" + (with-system [{:blaze.db/keys [node]} system] + @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) - (given - (verify/verify-tx-cmds - (d/db node) 2 - [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0) - :if-match 0}]) - ::anom/category := ::anom/conflict - ::anom/message := "Precondition `W/\"0\"` failed on `Patient/0`." - :http/status := 412))) + (given + (verify/verify-tx-cmds + (d/db node) 2 + [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0) + :if-match 0}]) + ::anom/category := ::anom/conflict + ::anom/message := "Precondition `W/\"0\"` failed on `Patient/0`." + :http/status := 412))) + + (testing "using if-none-match of `*`" + (with-system [{:blaze.db/keys [node]} system] + @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) + + (given + (verify/verify-tx-cmds + (d/db node) 2 + [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0) + :if-none-match "*"}]) + ::anom/category := ::anom/conflict + ::anom/message := "Resource `Patient/0` already exists." + :http/status := 412))) + + (testing "using matching if-none-match" + (with-system [{:blaze.db/keys [node]} system] + @(d/transact node [[:put {:fhir/type :fhir/Patient :id "0"}]]) + + (given + (verify/verify-tx-cmds + (d/db node) 2 + [{:op "put" :type "Patient" :id "0" :hash (hash/generate patient-0) + :if-none-match 1}]) + ::anom/category := ::anom/conflict + ::anom/message := "Resource `Patient/0` with version 1 already exists." + :http/status := 412)))) (testing "conditional create" (testing "conflict" diff --git a/modules/byte-string/resources/data_readers.clj b/modules/db/test/data_readers.clj similarity index 100% rename from modules/byte-string/resources/data_readers.clj rename to modules/db/test/data_readers.clj diff --git a/modules/fhir-path/deps.edn b/modules/fhir-path/deps.edn index 7ce97700f..6bc99d8c9 100644 --- a/modules/fhir-path/deps.edn +++ b/modules/fhir-path/deps.edn @@ -3,7 +3,7 @@ {:local/root "../fhir-structure"} info.cqframework/cql - {:mvn/version "1.5.10"}} + {:mvn/version "2.4.0"}} :aliases {:test diff --git a/modules/fhir-structure/deps.edn b/modules/fhir-structure/deps.edn index 91e8b85de..1943d901d 100644 --- a/modules/fhir-structure/deps.edn +++ b/modules/fhir-structure/deps.edn @@ -14,13 +14,13 @@ {:local/root "../module-base"} com.github.ben-manes.caffeine/caffeine - {:mvn/version "3.1.1"} + {:mvn/version "3.1.2"} com.google.guava/guava {:mvn/version "31.1-jre"} com.fasterxml.jackson.dataformat/jackson-dataformat-cbor - {:mvn/version "2.14.0"} + {:mvn/version "2.14.1"} com.taoensso/timbre {:mvn/version "5.2.1"} @@ -29,7 +29,7 @@ {:mvn/version "2022.06.16-403"} metosin/jsonista - {:mvn/version "0.3.6"} + {:mvn/version "0.3.7"} org.clojure/alpha.spec {:git/url "https://github.com/alexanderkiel/spec-alpha2.git" diff --git a/modules/fhir-structure/resources/data_readers.clj b/modules/fhir-structure/resources/data_readers.clj index d1ab2c71a..21f203778 100644 --- a/modules/fhir-structure/resources/data_readers.clj +++ b/modules/fhir-structure/resources/data_readers.clj @@ -27,6 +27,7 @@ fhir/Coding blaze.fhir.spec.type/coding fhir/CodeableConcept blaze.fhir.spec.type/codeable-concept fhir/Quantity blaze.fhir.spec.type/quantity + fhir/Ratio blaze.fhir.spec.type/ratio fhir/Period blaze.fhir.spec.type/period fhir/Identifier blaze.fhir.spec.type/identifier fhir/HumanName blaze.fhir.spec.type/human-name diff --git a/modules/fhir-structure/src/blaze/fhir/spec/type.clj b/modules/fhir-structure/src/blaze/fhir/spec/type.clj index fffddb10f..a40d16fe1 100644 --- a/modules/fhir-structure/src/blaze/fhir/spec/type.clj +++ b/modules/fhir-structure/src/blaze/fhir/spec/type.clj @@ -27,7 +27,7 @@ Instant LocalDate LocalDateTime LocalTime OffsetDateTime Year YearMonth ZoneOffset] [java.time.format DateTimeParseException] - [java.util List Map UUID] + [java.util Comparator List Map Map$Entry UUID] [jsonista.jackson KeywordKeyDeserializer PersistentHashMapDeserializer PersistentVectorDeserializer])) @@ -1098,10 +1098,14 @@ (-hash-into [m sink] (.putByte ^PrimitiveSink sink (byte 37)) (run! - (fn [k] - (p/-hash-into k sink) - (p/-hash-into (k m) sink)) - (sort (keys m)))) + (fn [^Map$Entry e] + (p/-hash-into (.getKey e) sink) + (p/-hash-into (.getValue e) sink)) + (sort + (reify Comparator + (compare [_ e1 e2] + (.compareTo ^Keyword (.getKey ^Map$Entry e1) (.getKey ^Map$Entry e2)))) + m))) (-references [m] ;; Bundle entries have no references, because Bundles itself are stored "as-is" (when-not (identical? :fhir.Bundle/entry (p/-type m)) diff --git a/modules/fhir-structure/src/blaze/fhir/spec/type/macros.clj b/modules/fhir-structure/src/blaze/fhir/spec/type/macros.clj index 5c55ac388..70527a4ab 100644 --- a/modules/fhir-structure/src/blaze/fhir/spec/type/macros.clj +++ b/modules/fhir-structure/src/blaze/fhir/spec/type/macros.clj @@ -219,7 +219,7 @@ (when ~'extension (.putByte ~tagged-sink (byte ~extension-tag)) (p/-hash-into ~'extension ~'sink)) - (when (some? ~value-sym) + (when-not (nil? ~value-sym) (.putByte ~tagged-sink (byte ~value-tag)) (system/-hash-into ~value-sym ~'sink))) (~'-references [~'_] @@ -309,7 +309,7 @@ (defn write-field [generator field-sym] - `(when (some? ~field-sym) + `(when-not (nil? ~field-sym) ~@(cond (= 'String (:tag (meta field-sym))) `[(.writeFieldName ~(with-meta generator {:tag `JsonGenerator}) ~(field-name field-sym)) @@ -355,7 +355,7 @@ (.putByte ~sink-sym-tag (byte ~hash-num)) ~@(map-indexed (fn [idx field] - `(when (some? ~field) + `(when-not (nil? ~field) (.putByte ~sink-sym-tag (byte ~idx)) (~(if (= 'id field) `system/-hash-into `p/-hash-into) ~field ~sink-sym))) diff --git a/modules/fhir-structure/src/blaze/fhir/spec/type/system/spec.clj b/modules/fhir-structure/src/blaze/fhir/spec/type/system/spec.clj index e17e57db5..31a06c1de 100644 --- a/modules/fhir-structure/src/blaze/fhir/spec/type/system/spec.clj +++ b/modules/fhir-structure/src/blaze/fhir/spec/type/system/spec.clj @@ -14,3 +14,10 @@ (s/gen (s/int-in 1 10000)) (s/gen (s/int-in 1 13)) (s/gen (s/int-in 1 29)))))) + + +(s/def :system/date-time system/date-time?) + + +(s/def :system/date-or-date-time + (s/or :date :system/date :date-time :system/date-time)) diff --git a/modules/fhir-structure/test-perf/blaze/fhir/hash_test_perf.clj b/modules/fhir-structure/test-perf/blaze/fhir/hash_test_perf.clj new file mode 100644 index 000000000..362359582 --- /dev/null +++ b/modules/fhir-structure/test-perf/blaze/fhir/hash_test_perf.clj @@ -0,0 +1,45 @@ +(ns blaze.fhir.hash-test-perf + (:require + [blaze.fhir.hash :as hash] + [blaze.test-util :as tu] + [criterium.core :as criterium])) + + +(tu/init-fhir-specs) + + +(def observation + {:fhir/type :fhir/Observation + :id "DACG22233TWT7CK4" + :meta #fhir/Meta + {:versionId #fhir/id"481283" + :lastUpdated #fhir/instant"2022-04-20T11:58:38.070Z" + :profile [#fhir/canonical"http://hl7.org/fhir/StructureDefinition/bmi" + #fhir/canonical"http://hl7.org/fhir/StructureDefinition/vitalsigns"]} + :status #fhir/code"final" + :category + [#fhir/CodeableConcept + {:coding + [#fhir/Coding + {:system #fhir/uri"http://terminology.hl7.org/CodeSystem/observation-category" + :code #fhir/code"vital-signs" + :display "vital-signs"}]}] + :code #fhir/CodeableConcept + {:coding [#fhir/Coding{:system #fhir/uri"http://loinc.org" + :code #fhir/code"39156-5" + :display "Body Mass Index"}] + :text "Body Mass Index"} + :subject #fhir/Reference{:reference "Patient/DACG22233TWT7CKL"} + :effective #fhir/dateTime"2013-01-04T23:45:50Z" + :issued #fhir/instant"2013-01-04T23:45:50.072Z" + :value #fhir/Quantity + {:value 14.97M + :unit "kg/m2" + :system #fhir/uri"http://unitsofmeasure.org" + :code #fhir/code"kg/m2"}}) + + +(comment + (criterium/bench (hash/generate observation)) + + ) diff --git a/modules/http-client/deps.edn b/modules/http-client/deps.edn index 98cdecb07..53a715f15 100644 --- a/modules/http-client/deps.edn +++ b/modules/http-client/deps.edn @@ -8,10 +8,10 @@ [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor]} com.fasterxml.jackson.core/jackson-core - {:mvn/version "2.14.0"} + {:mvn/version "2.14.1"} com.fasterxml.jackson.dataformat/jackson-dataformat-smile - {:mvn/version "2.14.0"} + {:mvn/version "2.14.1"} hato/hato {:mvn/version "0.9.0"}} diff --git a/modules/interaction/Makefile b/modules/interaction/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/interaction/Makefile +++ b/modules/interaction/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/interaction/src/blaze/interaction/transaction.clj b/modules/interaction/src/blaze/interaction/transaction.clj index 7801e3de0..924cff805 100644 --- a/modules/interaction/src/blaze/interaction/transaction.clj +++ b/modules/interaction/src/blaze/interaction/transaction.clj @@ -409,7 +409,10 @@ (defn- batch-request [{:keys [context-path return-preference db] :blaze/keys [base-url]} - {{:keys [method url identity] if-match :ifMatch if-none-exist :ifNoneExist} + {{:keys [method url identity] + if-none-match :ifNoneMatch + if-match :ifMatch + if-none-exist :ifNoneExist} :request :keys [resource]}] (let [url (-> url type/value strip-leading-slash) [url query-string] (str/split url #"\?") @@ -428,6 +431,9 @@ return-preference (assoc-in [:headers "prefer"] (str "return=" return-preference)) + if-none-match + (assoc-in [:headers "if-none-match"] if-none-match) + if-match (assoc-in [:headers "if-match"] if-match) diff --git a/modules/interaction/src/blaze/interaction/transaction/bundle.clj b/modules/interaction/src/blaze/interaction/transaction/bundle.clj index 2ccf9b385..accdc95fc 100644 --- a/modules/interaction/src/blaze/interaction/transaction/bundle.clj +++ b/modules/interaction/src/blaze/interaction/transaction/bundle.clj @@ -38,9 +38,8 @@ (defmethod entry-tx-op "PUT" - [{{if-match :ifMatch} :request :keys [resource]}] - (let [t (iu/etag->t if-match)] - (cond-> [:put resource] t (conj t)))) + [{{if-match :ifMatch if-none-match :ifNoneMatch} :request :keys [resource]}] + (iu/put-tx-op resource if-match if-none-match)) (defmethod entry-tx-op "DELETE" diff --git a/modules/interaction/src/blaze/interaction/update.clj b/modules/interaction/src/blaze/interaction/update.clj index 05f8cef9a..177d69272 100644 --- a/modules/interaction/src/blaze/interaction/update.clj +++ b/modules/interaction/src/blaze/interaction/update.clj @@ -55,10 +55,8 @@ :else body)) -(defn- tx-op [resource if-match-t] - (cond-> [:put resource] - if-match-t - (conj if-match-t))) +(defn- tx-op [resource {:strs [if-match if-none-match]}] + (iu/put-tx-op resource if-match if-none-match)) (defn- response-context [{:keys [headers] :as request} db-after] @@ -75,12 +73,10 @@ (defn- handler [{:keys [node executor]}] (fn [{{{:fhir.resource/keys [type]} :data} ::reitit/match {:keys [id]} :path-params - :keys [body] - {:strs [if-match]} :headers + :keys [headers body] :as request}] (-> (ac/completed-future (validate-resource type id body)) - (ac/then-compose - #(d/transact node [(tx-op % (iu/etag->t if-match))])) + (ac/then-compose #(d/transact node [(tx-op % headers)])) ;; it's important to switch to the executor here, because otherwise ;; the central indexing thread would execute response building. (ac/then-apply-async identity executor) diff --git a/modules/interaction/src/blaze/interaction/util.clj b/modules/interaction/src/blaze/interaction/util.clj index 1630b089b..3bae9e937 100644 --- a/modules/interaction/src/blaze/interaction/util.clj +++ b/modules/interaction/src/blaze/interaction/util.clj @@ -9,9 +9,8 @@ (defn etag->t [etag] - (when etag - (let [[_ t] (re-find #"W/\"(\d+)\"" etag)] - (some-> t parse-long)))) + (let [[_ t] (re-find #"W/\"(\d+)\"" etag)] + (some-> t parse-long))) (defn- remove-query-param? [[k]] @@ -62,3 +61,18 @@ (defn t [db] (or (d/as-of-t db) (d/basis-t db))) + + +(defn- prep-if-none-match [if-none-match] + (if (= "*" if-none-match) + :any + (etag->t if-none-match))) + + +(defn put-tx-op [resource if-match if-none-match] + (let [if-match (some-> if-match etag->t) + if-none-match (some-> if-none-match prep-if-none-match)] + (cond + if-match [:put resource [:if-match if-match]] + if-none-match [:put resource [:if-none-match if-none-match]] + :else [:put resource]))) diff --git a/modules/interaction/test/blaze/interaction/create_test.clj b/modules/interaction/test/blaze/interaction/create_test.clj index bad7c0156..497159853 100644 --- a/modules/interaction/test/blaze/interaction/create_test.clj +++ b/modules/interaction/test/blaze/interaction/create_test.clj @@ -12,7 +12,7 @@ [blaze.fhir.response.create-spec] [blaze.fhir.spec.type] [blaze.interaction.create] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.interaction.util-spec] [blaze.test-util :as tu :refer [given-thrown with-system]] [clojure.spec.alpha :as s] @@ -101,11 +101,12 @@ ::reitit/router router)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{handler# :blaze.interaction/create} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{handler# :blaze.interaction/create} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults wrap-error)] + ~@body)))) (def patient-match @@ -124,7 +125,6 @@ (testing "errors on" (testing "missing body" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match patient-match})] @@ -139,7 +139,6 @@ (testing "type mismatch" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match patient-match @@ -157,7 +156,6 @@ (testing "violated referential integrity" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match observation-match @@ -175,7 +173,6 @@ (testing "on newly created resource" (testing "with no Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {::reitit/match patient-match @@ -202,7 +199,6 @@ (testing "with return=minimal Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {::reitit/match patient-match @@ -226,7 +222,6 @@ (testing "with return=representation Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {::reitit/match patient-match @@ -254,7 +249,6 @@ (testing "with return=OperationOutcome Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {::reitit/match patient-match @@ -279,7 +273,6 @@ (testing "conditional create" (testing "with empty header" (with-handler [handler] - [] (let [{:keys [status]} @(handler {::reitit/match patient-match @@ -291,7 +284,6 @@ (testing "with ignorable _sort search parameter" (with-handler [handler] - [] (let [{:keys [status]} @(handler {::reitit/match patient-match @@ -304,7 +296,6 @@ (testing "with non-matching query" (testing "on empty database" (with-handler [handler] - [] (let [{:keys [status]} @(handler {::reitit/match patient-match @@ -400,7 +391,6 @@ (testing "with a Bundle with references" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {::reitit/match bundle-match diff --git a/modules/interaction/test/blaze/interaction/delete_test.clj b/modules/interaction/test/blaze/interaction/delete_test.clj index af281e64e..a8762c11f 100644 --- a/modules/interaction/test/blaze/interaction/delete_test.clj +++ b/modules/interaction/test/blaze/interaction/delete_test.clj @@ -6,6 +6,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.executors :as ex] [blaze.interaction.delete] + [blaze.interaction.test-util :as itu] [blaze.test-util :as tu :refer [given-thrown]] [clojure.spec.alpha :as s] [clojure.spec.test.alpha :as st] @@ -60,17 +61,17 @@ :blaze.test/executor {})) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{handler# :blaze.interaction/delete} system] - ~txs - (let [~handler-binding handler#] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{handler# :blaze.interaction/delete} system] + ~txs + (let [~handler-binding handler#] + ~@body)))) (deftest handler-test (testing "Returns No Content on non-existing resource" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {:path-params {:id "0"} diff --git a/modules/interaction/test/blaze/interaction/history/instance_test.clj b/modules/interaction/test/blaze/interaction/history/instance_test.clj index d7b9198c3..7378b4dc4 100644 --- a/modules/interaction/test/blaze/interaction/history/instance_test.clj +++ b/modules/interaction/test/blaze/interaction/history/instance_test.clj @@ -9,7 +9,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.interaction.history.instance] [blaze.interaction.history.util-spec] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.test-util :as tu :refer [given-thrown]] @@ -97,19 +97,19 @@ ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction.history/instance} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction.history/instance} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test (testing "returns not found on empty node" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"}})] diff --git a/modules/interaction/test/blaze/interaction/history/system_test.clj b/modules/interaction/test/blaze/interaction/history/system_test.clj index affa812d9..dac934b6b 100644 --- a/modules/interaction/test/blaze/interaction/history/system_test.clj +++ b/modules/interaction/test/blaze/interaction/history/system_test.clj @@ -8,6 +8,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.interaction.history.system] [blaze.interaction.history.util-spec] + [blaze.interaction.test-util :as itu] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.test-util :as tu :refer [given-thrown]] @@ -98,18 +99,18 @@ ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction.history/system} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#))] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction.history/system} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#))] + ~@body)))) (deftest handler-test - (testing "returns empty history on empty node" + (testing "with empty node" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {})] diff --git a/modules/interaction/test/blaze/interaction/history/type_test.clj b/modules/interaction/test/blaze/interaction/history/type_test.clj index 959126bd8..5aedea317 100644 --- a/modules/interaction/test/blaze/interaction/history/type_test.clj +++ b/modules/interaction/test/blaze/interaction/history/type_test.clj @@ -8,6 +8,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.interaction.history.type] [blaze.interaction.history.util-spec] + [blaze.interaction.test-util :as itu] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.test-util :as tu :refer [given-thrown]] @@ -99,15 +100,35 @@ ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction.history/type} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#))] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction.history/type} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#))] + ~@body)))) (deftest handler-test + (testing "with empty node" + (with-handler [handler] + (let [{:keys [status body]} + @(handler {})] + + (is (= 200 status)) + + (testing "the body contains a bundle" + (is (= :fhir/Bundle (:fhir/type body)))) + + (testing "the bundle id is an LUID" + (is (= "AAAAAAAAAAAAAAAA" (:id body)))) + + (is (= #fhir/code"history" (:type body))) + + (is (= #fhir/unsignedInt 0 (:total body))) + + (is (empty? (:entry body)))))) + (testing "with one patient" (with-handler [handler] [[[:put {:fhir/type :fhir/Patient :id "0"}]]] diff --git a/modules/interaction/test/blaze/interaction/read_test.clj b/modules/interaction/test/blaze/interaction/read_test.clj index 99cb503cd..27acd7994 100644 --- a/modules/interaction/test/blaze/interaction/read_test.clj +++ b/modules/interaction/test/blaze/interaction/read_test.clj @@ -9,7 +9,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.db.spec] [blaze.interaction.read] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.test-util :as tu] @@ -49,19 +49,19 @@ (handler (assoc request ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction/read} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction/read} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test (testing "returns Not-Found on non-existing resource" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"}})] @@ -75,7 +75,6 @@ (testing "returns Not-Found on invalid version id" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0" :vid "a"}})] diff --git a/modules/interaction/test/blaze/interaction/search_compartment_test.clj b/modules/interaction/test/blaze/interaction/search_compartment_test.clj index e925393e8..6ac139c32 100644 --- a/modules/interaction/test/blaze/interaction/search_compartment_test.clj +++ b/modules/interaction/test/blaze/interaction/search_compartment_test.clj @@ -9,7 +9,7 @@ [blaze.interaction.search.nav-spec] [blaze.interaction.search.params-spec] [blaze.interaction.search.util-spec] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.page-store-spec] @@ -105,19 +105,19 @@ ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction/search-compartment} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction/search-compartment} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test (testing "Returns an Error on Invalid Id" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "<invalid>" :type "Observation"}})] @@ -132,7 +132,6 @@ (testing "Returns an Error on Invalid Type" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0" :type "<invalid>"}})] @@ -150,7 +149,6 @@ (testing "returns error" (testing "normal result" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0" :type "Observation"} @@ -167,7 +165,6 @@ (testing "summary result" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0" :type "Observation"} @@ -473,7 +470,6 @@ (testing "Returns an empty Bundle on Non-Existing Compartment" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0" :type "Observation"}})] diff --git a/modules/interaction/test/blaze/interaction/search_system_test.clj b/modules/interaction/test/blaze/interaction/search_system_test.clj index a0ef4bb4a..e1b2414d5 100644 --- a/modules/interaction/test/blaze/interaction/search_system_test.clj +++ b/modules/interaction/test/blaze/interaction/search_system_test.clj @@ -8,7 +8,7 @@ [blaze.interaction.search.nav-spec] [blaze.interaction.search.params-spec] [blaze.interaction.search.util-spec] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.page-store-spec] @@ -107,19 +107,19 @@ ::reitit/match match)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction/search-system} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction/search-system} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test (testing "on empty database" (with-handler [handler] - [] (testing "Returns all existing resources" (let [{:keys [status body]} @(handler {})] @@ -296,7 +296,6 @@ (testing "Include Resources" (testing "invalid include parameter" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:headers {"prefer" "handling=strict"} diff --git a/modules/interaction/test/blaze/interaction/search_type_test.clj b/modules/interaction/test/blaze/interaction/search_type_test.clj index 568e8ec8e..bd855837d 100644 --- a/modules/interaction/test/blaze/interaction/search_type_test.clj +++ b/modules/interaction/test/blaze/interaction/search_type_test.clj @@ -9,7 +9,7 @@ [blaze.interaction.search.nav-spec] [blaze.interaction.search.params-spec] [blaze.interaction.search.util-spec] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.middleware.fhir.db :refer [wrap-db]] [blaze.middleware.fhir.db-spec] [blaze.page-store-spec] @@ -175,13 +175,14 @@ ::reitit/router router)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# :blaze.interaction/search-type} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# :blaze.interaction/search-type} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test @@ -189,7 +190,6 @@ (testing "with strict handling" (testing "returns error" (with-handler [handler] - [] (testing "normal result" (let [{:keys [status body]} @(handler @@ -467,7 +467,6 @@ (testing "on unsupported second sort parameter" (testing "returns error" (with-handler [handler] - [] (testing "normal result" (let [{:keys [status body]} @(handler @@ -499,7 +498,6 @@ (testing "on invalid date-time" (testing "returns error" (with-handler [handler] - [] (testing "normal result" (let [{:keys [status body]} @(handler @@ -533,7 +531,6 @@ (testing "on invalid token" (testing "returns error" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match patient-page-match @@ -551,7 +548,6 @@ (testing "on missing token" (testing "returns error" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match patient-page-match @@ -2175,7 +2171,6 @@ (testing "invalid include parameter" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {::reitit/match patient-match diff --git a/modules/interaction/test/blaze/interaction/test_util.clj b/modules/interaction/test/blaze/interaction/test_util.clj index 562381cf3..a85e2062e 100644 --- a/modules/interaction/test/blaze/interaction/test_util.clj +++ b/modules/interaction/test/blaze/interaction/test_util.clj @@ -8,3 +8,9 @@ (fn [request] (-> (handler request) (ac/exceptionally handler-util/error-response)))) + + +(defn extract-txs-body [more] + (if (vector? (first more)) + [(first more) (next more)] + [[] more])) diff --git a/modules/interaction/test/blaze/interaction/transaction/bundle_test.clj b/modules/interaction/test/blaze/interaction/transaction/bundle_test.clj index 824870a2b..189834a1c 100644 --- a/modules/interaction/test/blaze/interaction/transaction/bundle_test.clj +++ b/modules/interaction/test/blaze/interaction/transaction/bundle_test.clj @@ -123,7 +123,25 @@ [0 0] := :put [0 1 :fhir/type] := :fhir/Patient [0 1 :id] := "id-214728" - [0 2] := 215150)) + [0 2] := [:if-match 215150])) + + (testing "conditional update" + (given + (bundle/tx-ops + [{:fhir/type :fhir.Bundle/entry + :resource + {:fhir/type :fhir/Patient + :id "id-214728"} + :request + {:fhir/type :fhir.Bundle.entry/request + :method #fhir/code"PUT" + :url #fhir/uri"Patient/id-214728" + :ifNoneMatch "*"}}]) + [0 count] := 3 + [0 0] := :put + [0 1 :fhir/type] := :fhir/Patient + [0 1 :id] := "id-214728" + [0 2] := [:if-none-match :any])) (testing "delete" (given diff --git a/modules/interaction/test/blaze/interaction/transaction_test.clj b/modules/interaction/test/blaze/interaction/transaction_test.clj index 3bf704f47..d2648a116 100644 --- a/modules/interaction/test/blaze/interaction/transaction_test.clj +++ b/modules/interaction/test/blaze/interaction/transaction_test.clj @@ -14,7 +14,7 @@ [blaze.interaction.delete] [blaze.interaction.read] [blaze.interaction.search-type] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.interaction.transaction] [blaze.interaction.update] [blaze.interaction.util-spec] @@ -183,18 +183,18 @@ :batch-handler (batch-handler router))))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{handler# :blaze.interaction/transaction - router# ::router} system] - ~txs - (let [~handler-binding (-> handler# (wrap-defaults router#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{handler# :blaze.interaction/transaction + router# ::router} system] + ~txs + (let [~handler-binding (-> handler# (wrap-defaults router#) + wrap-error)] + ~@body)))) (deftest handler-test (with-handler [handler] - [] (testing "on missing body" (let [{:keys [status body]} @(handler {})] @@ -241,7 +241,6 @@ (testing (format "On %s bundle" type) (testing "empty bundle" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -272,7 +271,6 @@ (testing "without return preference" (with-handler [handler] - [] (let [{:keys [status body] {[{:keys [resource response]}] :entry} :body} @(handler @@ -302,7 +300,6 @@ (testing "with representation return preference" (with-handler [handler] - [] (let [{:keys [status body] {[{:keys [resource response]}] :entry} :body} @(handler @@ -426,7 +423,6 @@ (testing "without return preference" (with-handler [handler] - [] (let [{:keys [status body] {[{:keys [resource response]}] :entry} :body} @(handler @@ -456,7 +452,6 @@ (testing "with representation return preference" (with-handler [handler] - [] (let [{:keys [status body] {[{:keys [resource response]}] :entry} :body} @(handler @@ -492,8 +487,6 @@ (testing "and conditional create interaction" (testing "with empty property" (with-handler [handler] - [] - (let [{:keys [status]} @(handler {:body @@ -514,8 +507,6 @@ (testing "with ignorable _sort search parameter" (with-handler [handler] - [] - (let [{:keys [status]} @(handler {:body @@ -754,7 +745,6 @@ (testing "and read interaction" (testing "returns Not-Found on non-existing resource" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry :as body} :body} @(handler @@ -831,7 +821,6 @@ (testing "On transaction bundle" (testing "on missing request" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -852,7 +841,6 @@ (testing "on missing request url" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -874,7 +862,6 @@ (testing "on missing request method" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -898,7 +885,6 @@ (testing "on unknown method" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -923,7 +909,6 @@ (testing "on unsupported method" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -949,7 +934,6 @@ (testing "and update interaction" (testing "on missing type in URL" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -974,7 +958,6 @@ (testing "on unknown type" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -999,7 +982,6 @@ (testing "on missing resource type" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1026,7 +1008,6 @@ (testing "on type mismatch" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1056,7 +1037,6 @@ (testing "on missing ID" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1085,7 +1065,6 @@ (testing "on missing ID in URL" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1112,7 +1091,6 @@ (testing "on invalid ID" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1142,7 +1120,6 @@ (testing "on ID mismatch" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1203,7 +1180,6 @@ (testing "on duplicate resources" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1238,7 +1214,6 @@ (testing "on violated referential integrity" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:body @@ -1268,7 +1243,6 @@ (testing "and create interaction" (testing "creates sequential identifiers" (with-handler [handler] - [] (let [{:keys [body]} @(handler {:headers {"prefer" "return=representation"} @@ -1320,12 +1294,77 @@ :fhir/type := :fhir/OperationOutcome [:issue 0 :severity] := #fhir/code"error" [:issue 0 :code] := #fhir/code"conflict" - [:issue 0 :diagnostics] := "Conditional create of a Patient with query `birthdate=2020` failed because at least the two matches `Patient/0/_history/1` and `Patient/1/_history/1` were found."))))))) + [:issue 0 :diagnostics] := "Conditional create of a Patient with query `birthdate=2020` failed because at least the two matches `Patient/0/_history/1` and `Patient/1/_history/1` were found.")))))) + + (testing "and conditional update interaction" + (testing "with if-none-match *" + (testing "on non-existing resource" + (with-handler [handler] + (let [{:keys [status] + {[{:keys [resource response]}] :entry :as body} :body} + @(handler + {:body + {:fhir/type :fhir/Bundle + :type #fhir/code"transaction" + :entry + [{:fhir/type :fhir.Bundle/entry + :resource + {:fhir/type :fhir/Patient :id "0"} + :request + {:fhir/type :fhir.Bundle.entry/request + :method #fhir/code"PUT" + :url #fhir/uri"Patient/0" + :ifNoneMatch "*"}}]}})] + + (testing "response status" + (is (= 200 status))) + + (testing "bundle" + (given body + :fhir/type := :fhir/Bundle + :id := "AAAAAAAAAAAAAAAA" + :type := #fhir/code"transaction-response")) + + (testing "entry resource" + (is (nil? resource))) + + (testing "entry response" + (given response + :status := "201" + :etag := "W/\"1\"" + :lastModified := Instant/EPOCH))))) + + (testing "on existing resource" + (with-handler [handler] + [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + + (let [{:keys [status body]} + @(handler + {:body + {:fhir/type :fhir/Bundle + :type #fhir/code"transaction" + :entry + [{:fhir/type :fhir.Bundle/entry + :resource + {:fhir/type :fhir/Patient :id "0"} + :request + {:fhir/type :fhir.Bundle.entry/request + :method #fhir/code"PUT" + :url #fhir/uri"Patient/0" + :ifNoneMatch "*"}}]}})] + + (testing "returns error" + (is (= 412 status)) + + (given body + :fhir/type := :fhir/OperationOutcome + [:issue 0 :severity] := #fhir/code"error" + [:issue 0 :code] := #fhir/code"conflict" + [:issue 0 :diagnostics] := "Resource `Patient/0` already exists.")))))))) (testing "On batch bundle" (testing "on missing request" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1351,7 +1390,6 @@ (testing "on missing request url" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1378,7 +1416,6 @@ (testing "on missing request method" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1407,7 +1444,6 @@ (testing "on unknown method" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1437,7 +1473,6 @@ (testing "on unsupported method" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1467,7 +1502,6 @@ (testing "on metadata" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [resource response]}] :entry} :body} @(handler {:body @@ -1494,7 +1528,6 @@ (testing "and update interaction" (testing "on invalid type-level URL" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1562,7 +1595,6 @@ (testing "without return preference" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [resource response]}] :entry} :body} @(handler {:body @@ -1592,7 +1624,6 @@ (testing "leading slash in URL is removed" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [resource response]}] :entry} :body} @(handler {:body @@ -1622,7 +1653,6 @@ (testing "with representation return preference" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [resource response]}] :entry} :body} @(handler {:headers {"prefer" "return=representation"} @@ -1658,7 +1688,6 @@ (testing "and create interaction" (testing "on not-found type-level URL" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1690,7 +1719,6 @@ (testing "on invalid instance-level URL" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1722,7 +1750,6 @@ (testing "on violated referential integrity" (with-handler [handler] - [] (let [{:keys [status] {[{:keys [response]}] :entry} :body} @(handler {:body @@ -1791,6 +1818,78 @@ [:issue 0 :diagnostics] := "Conditional create of a Patient with query `birthdate=2020` failed because at least the two matches `Patient/0/_history/1` and `Patient/1/_history/1` were found." [:issue 0 :expression 0] := "Bundle.entry[0]"))))))) + (testing "and conditional update interaction" + (testing "with if-none-match *" + (testing "on non-existing resource" + (with-handler [handler] + (let [{:keys [status] + {[{:keys [resource response]}] :entry :as body} :body} + @(handler + {:body + {:fhir/type :fhir/Bundle + :type #fhir/code"batch" + :entry + [{:fhir/type :fhir.Bundle/entry + :resource + {:fhir/type :fhir/Patient :id "0"} + :request + {:fhir/type :fhir.Bundle.entry/request + :method #fhir/code"PUT" + :url #fhir/uri"Patient/0" + :ifNoneMatch "*"}}]}})] + + (testing "response status" + (is (= 200 status))) + + (testing "bundle" + (given body + :fhir/type := :fhir/Bundle + :id := "AAAAAAAAAAAAAAAA" + :type := #fhir/code"batch-response")) + + (testing "entry resource" + (is (nil? resource))) + + (testing "entry response" + (given response + :status := "201" + :etag := "W/\"1\"" + :lastModified := Instant/EPOCH))))) + + (testing "on existing resource" + (with-handler [handler] + [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + + (let [{:keys [status] {[{:keys [response]}] :entry} :body} + @(handler + {:body + {:fhir/type :fhir/Bundle + :type #fhir/code"batch" + :entry + [{:fhir/type :fhir.Bundle/entry + :resource + {:fhir/type :fhir/Patient :id "0"} + :request + {:fhir/type :fhir.Bundle.entry/request + :method #fhir/code"PUT" + :url #fhir/uri"Patient/0" + :ifNoneMatch "*"}}]}})] + + (testing "response status" + (is (= 200 status))) + + (testing "returns error" + (testing "with status" + (is (= "412" (:status response)))) + + (testing "with outcome" + (given (:outcome response) + :fhir/type := :fhir/OperationOutcome + [:issue 0 :severity] := #fhir/code"error" + [:issue 0 :code] := #fhir/code"conflict" + [:issue 0 :diagnostics] := "Resource `Patient/0` already exists." + [:issue 0 :expression 0] := "Bundle.entry[0]")))))))) + (testing "and search-type interaction" (with-handler [handler] [[[:create {:fhir/type :fhir/Patient :id "0"}] diff --git a/modules/interaction/test/blaze/interaction/update_test.clj b/modules/interaction/test/blaze/interaction/update_test.clj index bf971d88e..098093143 100644 --- a/modules/interaction/test/blaze/interaction/update_test.clj +++ b/modules/interaction/test/blaze/interaction/update_test.clj @@ -11,7 +11,7 @@ [blaze.executors :as ex] [blaze.fhir.response.create-spec] [blaze.fhir.spec.type] - [blaze.interaction.test-util :refer [wrap-error]] + [blaze.interaction.test-util :as itu :refer [wrap-error]] [blaze.interaction.update] [blaze.test-util :as tu :refer [given-thrown with-system]] [clojure.spec.alpha :as s] @@ -104,18 +104,18 @@ ::reitit/router router)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{handler# :blaze.interaction/update} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (itu/extract-txs-body more)] + `(with-system-data [{handler# :blaze.interaction/update} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults wrap-error)] + ~@body)))) (deftest handler-test (testing "erros on" (testing "missing body" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -132,7 +132,6 @@ (testing "type mismatch" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -152,7 +151,6 @@ (testing "missing id" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -172,7 +170,6 @@ (testing "ID mismatch" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -213,7 +210,6 @@ (testing "violated referential integrity" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -233,7 +229,6 @@ (testing "on newly created resource" (testing "with no Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {:path-params {:id "0"} @@ -264,7 +259,6 @@ (testing "with return=minimal Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {:path-params {:id "0"} @@ -292,7 +286,6 @@ (testing "with return=representation Prefer header" (with-handler [handler] - [] (let [{:keys [status headers body]} @(handler {:path-params {:id "0"} @@ -413,4 +406,76 @@ :fhir/type := :fhir/Observation :id := "0" [:meta :versionId] := #fhir/id"1" - [:meta :lastUpdated] := Instant/EPOCH)))))) + [:meta :lastUpdated] := Instant/EPOCH))))) + + (testing "conditional update" + (testing "if-none-match" + (testing "*" + (testing "with existing resource" + (with-handler [handler] + [[[:create {:fhir/type :fhir/Patient :id "0"}]]] + + (let [{:keys [status body]} + @(handler + {:path-params {:id "0"} + ::reitit/match patient-match + :headers {"if-none-match" "*"} + :body {:fhir/type :fhir/Patient :id "0"}})] + + (testing "returns error" + (is (= 412 status)) + + (given body + :fhir/type := :fhir/OperationOutcome + [:issue 0 :severity] := #fhir/code"error" + [:issue 0 :code] := #fhir/code"conflict" + [:issue 0 :diagnostics] := "Resource `Patient/0` already exists."))))) + + (testing "with no existing resource" + (with-handler [handler] + + (let [{:keys [status]} + @(handler + {:path-params {:id "0"} + ::reitit/match patient-match + :headers {"if-none-match" "*"} + :body {:fhir/type :fhir/Patient :id "0"}})] + + (testing "Returns 201" + (is (= 201 status))))))) + + (testing "W/\"1\"" + (testing "with existing resource" + (with-handler [handler] + [[[:create {:fhir/type :fhir/Patient :id "0"}]]] + + (let [{:keys [status body]} + @(handler + {:path-params {:id "0"} + ::reitit/match patient-match + :headers {"if-none-match" "W/\"1\""} + :body {:fhir/type :fhir/Patient :id "0"}})] + + (testing "returns error" + (is (= 412 status)) + + (given body + :fhir/type := :fhir/OperationOutcome + [:issue 0 :severity] := #fhir/code"error" + [:issue 0 :code] := #fhir/code"conflict" + [:issue 0 :diagnostics] := "Resource `Patient/0` with version 1 already exists.")))))) + + (testing "W/\"2\"" + (testing "with existing resource" + (with-handler [handler] + [[[:create {:fhir/type :fhir/Patient :id "0"}]]] + + (let [{:keys [status]} + @(handler + {:path-params {:id "0"} + ::reitit/match patient-match + :headers {"if-none-match" "W/\"2\""} + :body {:fhir/type :fhir/Patient :id "0"}})] + + (testing "Returns 200" + (is (= 200 status)))))))))) diff --git a/modules/interaction/test/blaze/interaction/util_spec.clj b/modules/interaction/test/blaze/interaction/util_spec.clj index dd47c35e9..3f97e02b1 100644 --- a/modules/interaction/test/blaze/interaction/util_spec.clj +++ b/modules/interaction/test/blaze/interaction/util_spec.clj @@ -9,7 +9,7 @@ (s/fdef iu/etag->t - :args (s/cat :etag (s/nilable string?)) + :args (s/cat :etag string?) :ret (s/nilable :blaze.db/t)) diff --git a/modules/interaction/test/blaze/interaction/util_test.clj b/modules/interaction/test/blaze/interaction/util_test.clj index ed35694b8..094a18c08 100644 --- a/modules/interaction/test/blaze/interaction/util_test.clj +++ b/modules/interaction/test/blaze/interaction/util_test.clj @@ -21,9 +21,6 @@ (deftest etag->t-test - (testing "accepts nil" - (is (nil? (iu/etag->t nil)))) - (testing "valid ETag" (is (= 1 (iu/etag->t "W/\"1\"")))) diff --git a/modules/jepsen/deps.edn b/modules/jepsen/deps.edn index 0d1328bdf..3d07fe241 100644 --- a/modules/jepsen/deps.edn +++ b/modules/jepsen/deps.edn @@ -3,7 +3,7 @@ {:local/root "../fhir-client"} jepsen/jepsen - {:mvn/version "0.2.7"}} + {:mvn/version "0.3.0"}} :aliases {:test diff --git a/modules/jepsen/src/blaze/jepsen/register.clj b/modules/jepsen/src/blaze/jepsen/register.clj index b545efe0b..652bef144 100644 --- a/modules/jepsen/src/blaze/jepsen/register.clj +++ b/modules/jepsen/src/blaze/jepsen/register.clj @@ -5,9 +5,11 @@ [blaze.async.comp :as ac] [blaze.fhir-client :as fhir-client] [blaze.fhir.spec.type :as type] + [blaze.fhir.structure-definition-repo] [blaze.jepsen.util :as u] [clojure.tools.logging :refer [info]] [hato.client :as hc] + [integrant.core :as ig] [jepsen.checker :as checker] [jepsen.cli :as cli] [jepsen.client :as client] @@ -17,6 +19,9 @@ [knossos.model :as model])) +(ig/init {:blaze.fhir/structure-definition-repo {}}) + + (defn r [_ _] {:type :invoke :f :read :value nil}) diff --git a/modules/metrics/Makefile b/modules/metrics/Makefile index 196a53ceb..23d3127ff 100644 --- a/modules/metrics/Makefile +++ b/modules/metrics/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +build: + clojure -T:build compile + +test: build clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: build clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint build test test-coverage clean diff --git a/modules/metrics/build.clj b/modules/metrics/build.clj new file mode 100644 index 000000000..2b91311a5 --- /dev/null +++ b/modules/metrics/build.clj @@ -0,0 +1,12 @@ +(ns build + (:refer-clojure :exclude [compile]) + (:require [clojure.tools.build.api :as b])) + + +(defn compile [_] + (b/compile-clj + {:basis (b/create-basis + {:project "deps.edn" + :compile-opts {:direct-linking true}}) + :class-dir "target/classes" + :ns-compile ['blaze.metrics.collector]})) diff --git a/modules/metrics/deps.edn b/modules/metrics/deps.edn index 114e6fc17..9f36150be 100644 --- a/modules/metrics/deps.edn +++ b/modules/metrics/deps.edn @@ -1,15 +1,25 @@ -{:deps +{:paths ["src" "target/classes"] + + :deps {blaze/module-base {:local/root "../module-base"} - com.rpl/proxy-plus - {:mvn/version "0.0.8"} - io.prometheus/simpleclient_hotspot {:mvn/version "0.16.0"}} + :deps/prep-lib + {:alias :build + :fn compile + :ensure "target/classes"} + :aliases - {:test + {:build + {:deps + {io.github.clojure/tools.build + {:git/tag "v0.8.5" :git/sha "9c738da"}} + :ns-default build} + + :test {:extra-paths ["test"] :extra-deps @@ -29,4 +39,4 @@ {:mvn/version "1.2.4"}} :main-opts ["-m" "cloverage.coverage" "--codecov" "-p" "src" "-s" "test" - "-e" ".*spec$"]}}} + "-e" ".*spec$" -e "blaze.metrics.collector"]}}} diff --git a/modules/metrics/src/blaze/metrics/collector.clj b/modules/metrics/src/blaze/metrics/collector.clj new file mode 100644 index 000000000..3d506ef58 --- /dev/null +++ b/modules/metrics/src/blaze/metrics/collector.clj @@ -0,0 +1,18 @@ +(ns blaze.metrics.collector + (:gen-class + :extends io.prometheus.client.Collector + :constructors {[Object] []} + :init init + :state fn + :main false)) + + +(set! *warn-on-reflection* true) + + +(defn -init [fn] + [[] fn]) + + +(defn -collect-void [this] + ((.-fn ^blaze.metrics.collector this))) diff --git a/modules/metrics/src/blaze/metrics/core.clj b/modules/metrics/src/blaze/metrics/core.clj index 7a89bdff0..89933f7b5 100644 --- a/modules/metrics/src/blaze/metrics/core.clj +++ b/modules/metrics/src/blaze/metrics/core.clj @@ -1,8 +1,7 @@ (ns blaze.metrics.core (:require [clojure.core.protocols :as p] - [clojure.datafy :as datafy] - [com.rpl.proxy-plus :refer [proxy+]]) + [clojure.datafy :as datafy]) (:import [io.prometheus.client Collector Collector$MetricFamilySamples Collector$MetricFamilySamples$Sample @@ -15,9 +14,7 @@ (defmacro collector [& body] - `(proxy+ [] - Collector - (~'collect [~'_] ~@body))) + `(blaze.metrics.collector. (fn [] ~@body))) (defn collect diff --git a/modules/operation-measure-evaluate-measure/Makefile b/modules/operation-measure-evaluate-measure/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/operation-measure-evaluate-measure/Makefile +++ b/modules/operation-measure-evaluate-measure/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure.clj b/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure.clj index 4147bdcfd..6c7cdca03 100644 --- a/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure.clj +++ b/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure.clj @@ -69,7 +69,7 @@ (defn- translate [cql-code] - (-> (cql-translator/translate cql-code :locators? true) + (-> (cql-translator/translate cql-code) (ba/exceptionally #(assoc % :fhir/issue "value" diff --git a/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure/stratifier.clj b/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure/stratifier.clj index db61a5f09..4900ceb81 100644 --- a/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure/stratifier.clj +++ b/modules/operation-measure-evaluate-measure/src/blaze/fhir/operation/evaluate_measure/measure/stratifier.clj @@ -7,17 +7,36 @@ (defn- value-concept [value] - (type/codeable-concept - {:text (type/string (if (nil? value) "null" (str value)))})) + (let [type (type/type value)] + (cond + (identical? :fhir/CodeableConcept type) + value + + (identical? :fhir/Quantity type) + (type/codeable-concept + {:text (cond-> (str (:value value)) (:code value) (str " " (:code value)))}) + + :else + (type/codeable-concept + {:text (type/string (if (nil? value) "null" (str value)))})))) + + +(defn- stratum-value-extension [value] + (type/extension + {:url "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.value" + :value value})) (defn- stratum* [population value] - {:fhir/type :fhir.MeasureReport.group.stratifier/stratum - :value (value-concept value) - :population [population]}) + (cond-> {:fhir/type :fhir.MeasureReport.group.stratifier/stratum + :value (value-concept value) + :population [population]} + + (identical? :fhir/Quantity (type/type value)) + (assoc :extension [(stratum-value-extension value)]))) -(defn- stratum [context population-code [value handles]] +(defn- stratum [context population-code value handles] (-> (u/population context :fhir.MeasureReport.group.stratifier.stratum/population population-code handles) @@ -32,9 +51,9 @@ (defn- stratifier [{:keys [luids] :as context} code population-code strata] - (-> (reduce - (fn [{:keys [luids] :as ret} x] - (->> (stratum (assoc context :luids luids) population-code x) + (-> (reduce-kv + (fn [{:keys [luids] :as ret} value handles] + (->> (stratum (assoc context :luids luids) population-code value handles) (u/merge-result ret))) {:result [] :luids luids :tx-ops []} strata) @@ -46,7 +65,7 @@ (defn- calc-strata [{:keys [population-basis] :as context} name handles] - (if (= :boolean (or population-basis :boolean)) + (if (identical? :boolean (or population-basis :boolean)) (cql/calc-strata context name handles) (cql/calc-function-strata context name handles))) @@ -102,20 +121,29 @@ stratifier-components)) +(defn- stratum-component-value-extension [value] + (type/extension + {:url "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.component.value" + :value value})) + + (defn- multi-component-stratum* [population codes values] {:fhir/type :fhir.MeasureReport.group.stratifier/stratum :component (mapv (fn [code value] - {:fhir/type :fhir.MeasureReport.group.stratifier.stratum/component - :code code - :value (value-concept value)}) + (cond-> {:fhir/type :fhir.MeasureReport.group.stratifier.stratum/component + :code code + :value (value-concept value)} + + (identical? :fhir/Quantity (type/type value)) + (assoc :extension [(stratum-component-value-extension value)]))) codes values) :population [population]}) -(defn- multi-component-stratum [context codes population-code [values result]] +(defn- multi-component-stratum [context codes population-code values result] (-> (u/population context :fhir.MeasureReport.group.stratifier.stratum/population population-code result) @@ -130,10 +158,10 @@ (defn- multi-component-stratifier [{:keys [luids] :as context} codes population-code strata] - (-> (reduce - (fn [{:keys [luids] :as ret} x] + (-> (reduce-kv + (fn [{:keys [luids] :as ret} values result] (->> (multi-component-stratum (assoc context :luids luids) codes - population-code x) + population-code values result) (u/merge-result ret))) {:result [] :luids luids :tx-ops []} strata) diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/cql_test.clj b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/cql_test.clj index 104c2224b..b1481882b 100644 --- a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/cql_test.clj +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/cql_test.clj @@ -264,6 +264,7 @@ (testing "failing eval" (with-system-data [system mem-node-system] [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + (let [{:keys [db] :as context} (context system library-gender)] (with-redefs [expr/eval (failing-eval "msg-221825")] (given (cql/calc-strata context "Gender" (mapv handle (d/type-list db "Patient"))) @@ -273,6 +274,7 @@ (testing "multiple values" (with-system-data [system mem-node-system] [[[:put {:fhir/type :fhir/Patient :id "0"}]]] + (let [{:keys [db] :as context} (context system library-gender)] (with-redefs [expr/eval two-value-eval] (given (cql/calc-strata context "Gender" (mapv handle (d/type-list db "Patient"))) @@ -285,19 +287,29 @@ [:put {:fhir/type :fhir/Patient :id "1" :gender #fhir/code"male"}] [:put {:fhir/type :fhir/Patient :id "2" :gender #fhir/code"female"}] [:put {:fhir/type :fhir/Patient :id "3" :gender #fhir/code"male"}]]] - (let [{:keys [db] :as context} (context system library-gender)] - (given (cql/calc-strata context "Gender" (mapv handle (d/type-list db "Patient"))) - [#(get % nil) 0 :subject-handle :id] := "0" - [#(get % nil) 0 :population-handle :id] := "0" - [#(get % nil) count] := 1 - [#(get % #fhir/code"male") 0 :subject-handle :id] := "1" - [#(get % #fhir/code"male") 0 :population-handle :id] := "1" - [#(get % #fhir/code"male") 1 :subject-handle :id] := "3" - [#(get % #fhir/code"male") 1 :population-handle :id] := "3" - [#(get % #fhir/code"male") count] := 2 - [#(get % #fhir/code"female") 0 :subject-handle :id] := "2" - [#(get % #fhir/code"female") 0 :population-handle :id] := "2" - [#(get % #fhir/code"female") count] := 1))))) + + (let [{:keys [db] :as context} (context system library-gender) + result (cql/calc-strata context "Gender" (mapv handle (d/type-list db "Patient")))] + + (testing "contains a nil entry for the patient with id 0" + (given (result nil) + count := 1 + [0 :subject-handle :id] := "0" + [0 :population-handle :id] := "0")) + + (testing "contains a male entry for the patients with id 1 and 3" + (given (result #fhir/code"male") + count := 2 + [0 :subject-handle :id] := "1" + [0 :population-handle :id] := "1" + [1 :subject-handle :id] := "3" + [1 :population-handle :id] := "3")) + + (testing "contains a female entry for the patient with id 2" + (given (result #fhir/code"female") + count := 1 + [0 :subject-handle :id] := "2" + [0 :population-handle :id] := "2")))))) (deftest calc-function-strata-test @@ -317,6 +329,7 @@ [:put {:fhir/type :fhir/Encounter :id "3" :status #fhir/code"finished" :subject #fhir/Reference{:reference "Patient/2"}}]]] + (let [{:keys [db] :as context} (context system library-encounter-status) handles [{:population-handle (d/resource-handle db "Encounter" "0") @@ -326,19 +339,28 @@ {:population-handle (d/resource-handle db "Encounter" "2") :subject-handle (d/resource-handle db "Patient" "1")} {:population-handle (d/resource-handle db "Encounter" "3") - :subject-handle (d/resource-handle db "Patient" "2")}]] - (given (cql/calc-function-strata context "Status" handles) - [#(get % nil) 0 :population-handle :id] := "0" - [#(get % nil) 0 :subject-handle :id] := "0" - [#(get % nil) count] := 1 - [#(get % #fhir/code"finished") 0 :population-handle :id] := "1" - [#(get % #fhir/code"finished") 0 :subject-handle :id] := "0" - [#(get % #fhir/code"finished") 1 :population-handle :id] := "3" - [#(get % #fhir/code"finished") 1 :subject-handle :id] := "2" - [#(get % #fhir/code"finished") count] := 2 - [#(get % #fhir/code"planned") 0 :population-handle :id] := "2" - [#(get % #fhir/code"planned") 0 :subject-handle :id] := "1" - [#(get % #fhir/code"planned") count] := 1)))) + :subject-handle (d/resource-handle db "Patient" "2")}] + result (cql/calc-function-strata context "Status" handles)] + + (testing "contains a nil entry for the encounter with id 0" + (given (result nil) + count := 1 + [0 :population-handle :id] := "0" + [0 :subject-handle :id] := "0")) + + (testing "contains a finished entry for the encounters with id 1 and 3" + (given (result #fhir/code"finished") + count := 2 + [0 :population-handle :id] := "1" + [0 :subject-handle :id] := "0" + [1 :population-handle :id] := "3" + [1 :subject-handle :id] := "2")) + + (testing "contains a planned entry for the encounter with id 2" + (given (result #fhir/code"planned") + count := 1 + [0 :population-handle :id] := "2" + [0 :subject-handle :id] := "1"))))) (testing "missing function" (with-system [system mem-node-system] diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure/stratifier_test.clj b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure/stratifier_test.clj index abc485ee6..0c2781c8e 100644 --- a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure/stratifier_test.clj +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure/stratifier_test.clj @@ -8,7 +8,7 @@ [blaze.elm.compiler.library :as library] [blaze.fhir.operation.evaluate-measure.measure.stratifier :as stratifier] [blaze.fhir.operation.evaluate-measure.measure.stratifier-spec] - [blaze.fhir.spec.type :as type] + [blaze.test-util :refer [with-system]] [clojure.spec.test.alpha :as st] [clojure.test :as test :refer [deftest testing]] [cognitect.anomalies :as anom] @@ -60,6 +60,31 @@ AgeInYears()") +(def library-observation-code + "library Retrieve + using FHIR version '4.0.0' + include FHIRHelpers version '4.0.0' + + context Patient + + define function Code(observation Observation): + observation.code") + + +(def library-observation-value-age + "library Retrieve + using FHIR version '4.0.0' + include FHIRHelpers version '4.0.0' + + context Patient + + define function QuantityValue(observation Observation): + observation.value as Quantity + + define function Age(observation Observation): + AgeInYearsAt(observation.effective)") + + (def library-encounter-status-age "library Retrieve using FHIR version '4.0.0' @@ -80,11 +105,42 @@ :expression expr}) +(def stratifier-with-missing-expression + {:fhir/type :fhir.Measure.group/stratifier + :code #fhir/CodeableConcept{:text #fhir/string"gender"} + :criteria + {:fhir/type :fhir/Expression + :language #fhir/code"text/cql-identifier"}}) + + (def gender-stratifier {:fhir/type :fhir.Measure.group/stratifier :code #fhir/CodeableConcept{:text #fhir/string"gender"} :criteria (cql-expression "Gender")}) +(def observation-code-stratifier + {:fhir/type :fhir.Measure.group/stratifier + :code #fhir/CodeableConcept{:text #fhir/string"code"} + :criteria (cql-expression "Code")}) + +(def observation-value-stratifier + {:fhir/type :fhir.Measure.group/stratifier + :code #fhir/CodeableConcept{:text #fhir/string"value"} + :criteria (cql-expression "QuantityValue")}) + + +(def multi-component-stratifier-with-missing-expression + {:fhir/type :fhir.Measure.group/stratifier + :component + [{:fhir/type :fhir.Measure.group.stratifier/component + :code #fhir/CodeableConcept{:text #fhir/string"age"} + :criteria + {:fhir/type :fhir/Expression + :language #fhir/code"text/cql-identifier"}} + {:fhir/type :fhir.Measure.group.stratifier/component + :code #fhir/CodeableConcept{:text #fhir/string"gender"} + :criteria (cql-expression "Gender")}]}) + (def age-gender-stratifier {:fhir/type :fhir.Measure.group/stratifier @@ -108,6 +164,17 @@ :criteria (cql-expression "Age")}]}) +(def observation-value-age-stratifier + {:fhir/type :fhir.Measure.group/stratifier + :component + [{:fhir/type :fhir.Measure.group.stratifier/component + :code #fhir/CodeableConcept{:text #fhir/string"value"} + :criteria (cql-expression "QuantityValue")} + {:fhir/type :fhir.Measure.group.stratifier/component + :code #fhir/CodeableConcept{:text #fhir/string"age"} + :criteria (cql-expression "Age")}]}) + + (defn- context [{:blaze.db/keys [node] :blaze.test/keys [clock]} library] (let [{:keys [expression-defs function-defs]} (compile-library node library)] {:db (d/db node) @@ -122,53 +189,147 @@ (deftest evaluate (testing "one component" - (with-system-data [system mem-node-system] - [[[:put {:fhir/type :fhir/Patient :id "0"}] - [:put {:fhir/type :fhir/Patient :id "1" :gender #fhir/code"male"}] - [:put {:fhir/type :fhir/Patient :id "2" :gender #fhir/code"female"}] - [:put {:fhir/type :fhir/Patient :id "3" :gender #fhir/code"male"}]]] - (let [{:keys [db] :as context} (context system library-age-gender) - evaluated-populations {:handles [(mapv handle (d/type-list db "Patient"))]}] - - (testing "report-type population" - (given (stratifier/evaluate (assoc context :report-type "population") - evaluated-populations gender-stratifier) - [:result :fhir/type] := :fhir.MeasureReport.group/stratifier - [:result :code 0 :text type/value] := "gender" - [:result :stratum 0 :value :text type/value] := "female" - [:result :stratum 0 :population 0 :count type/value] := 1 - [:result :stratum 1 :value :text type/value] := "male" - [:result :stratum 1 :population 0 :count type/value] := 2 - [:result :stratum 2 :value :text type/value] := "null" - [:result :stratum 2 :population 0 :count type/value] := 1)) - - (testing "report-type subject-list" - (given (stratifier/evaluate - (assoc context - :luids ["L0" "L1" "L2"] - :report-type "subject-list") - evaluated-populations gender-stratifier) - [:result :fhir/type] := :fhir.MeasureReport.group/stratifier - [:result :code 0 :text type/value] := "gender" - [:result :stratum 0 :value :text type/value] := "female" - [:result :stratum 0 :population 0 :count type/value] := 1 - [:result :stratum 0 :population 0 :subjectResults :reference] := "List/L2" - [:result :stratum 1 :value :text type/value] := "male" - [:result :stratum 1 :population 0 :count type/value] := 2 - [:result :stratum 1 :population 0 :subjectResults :reference] := "List/L1" - [:result :stratum 2 :value :text type/value] := "null" - [:result :stratum 2 :population 0 :count type/value] := 1 - [:result :stratum 2 :population 0 :subjectResults :reference] := "List/L0" - [:tx-ops 0 0] := :create - [:tx-ops 0 1 :fhir/type] := :fhir/List - [:tx-ops 0 1 :id] := "L0" - [:tx-ops 0 1 :entry 0 :item :reference] := "Patient/0" - [:tx-ops 1 1 :id] := "L1" - [:tx-ops 1 1 :entry 0 :item :reference] := "Patient/1" - [:tx-ops 1 1 :entry 1 :item :reference] := "Patient/3" - [:tx-ops 2 1 :id] := "L2" - [:tx-ops 2 1 :entry 0 :item :reference] := "Patient/2" - [:tx-ops count] := 3))))) + (testing "gender" + (with-system-data [system mem-node-system] + [[[:put {:fhir/type :fhir/Patient :id "0"}] + [:put {:fhir/type :fhir/Patient :id "1" :gender #fhir/code"male"}] + [:put {:fhir/type :fhir/Patient :id "2" :gender #fhir/code"female"}] + [:put {:fhir/type :fhir/Patient :id "3" :gender #fhir/code"male"}]]] + + (let [{:keys [db] :as context} (context system library-age-gender) + evaluated-populations {:handles [(mapv handle (d/type-list db "Patient"))]}] + + (testing "report-type population" + (given (stratifier/evaluate (assoc context :report-type "population") + evaluated-populations gender-stratifier) + [:result :fhir/type] := :fhir.MeasureReport.group/stratifier + [:result :code 0 :text] := #fhir/string"gender" + [:result :stratum 0 :value :text] := #fhir/string"female" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 1 :value :text] := #fhir/string"male" + [:result :stratum 1 :population 0 :count] := #fhir/integer 2 + [:result :stratum 2 :value :text] := #fhir/string"null" + [:result :stratum 2 :population 0 :count] := #fhir/integer 1)) + + (testing "report-type subject-list" + (given (stratifier/evaluate + (assoc context + :luids ["L0" "L1" "L2"] + :report-type "subject-list") + evaluated-populations gender-stratifier) + [:result :fhir/type] := :fhir.MeasureReport.group/stratifier + [:result :code 0 :text] := #fhir/string"gender" + [:result :stratum 0 :value :text] := #fhir/string"female" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 0 :population 0 :subjectResults :reference] := "List/L2" + [:result :stratum 1 :value :text] := #fhir/string"male" + [:result :stratum 1 :population 0 :count] := #fhir/integer 2 + [:result :stratum 1 :population 0 :subjectResults :reference] := "List/L1" + [:result :stratum 2 :value :text] := #fhir/string"null" + [:result :stratum 2 :population 0 :count] := #fhir/integer 1 + [:result :stratum 2 :population 0 :subjectResults :reference] := "List/L0" + [:tx-ops 0 0] := :create + [:tx-ops 0 1 :fhir/type] := :fhir/List + [:tx-ops 0 1 :id] := "L0" + [:tx-ops 0 1 :entry 0 :item :reference] := "Patient/0" + [:tx-ops 1 1 :id] := "L1" + [:tx-ops 1 1 :entry 0 :item :reference] := "Patient/1" + [:tx-ops 1 1 :entry 1 :item :reference] := "Patient/3" + [:tx-ops 2 1 :id] := "L2" + [:tx-ops 2 1 :entry 0 :item :reference] := "Patient/2" + [:tx-ops count] := 3))))) + + (testing "CodeableConcept" + (with-system-data [system mem-node-system] + [[[:put {:fhir/type :fhir/Patient :id "0"}] + [:put {:fhir/type :fhir/Observation :id "0" + :code #fhir/CodeableConcept + {:coding + [#fhir/Coding{:system #fhir/uri"http://loinc.org" + :code #fhir/code"17861-6"}]} + :subject #fhir/Reference{:reference "Patient/0"}}]]] + (let [{:keys [db] :as context} (context system library-observation-code) + evaluated-populations + {:handles + [[{:population-handle (d/resource-handle db "Observation" "0") + :subject-handle (d/resource-handle db "Patient" "0")}]]}] + + (testing "report-type population" + (given (stratifier/evaluate + (assoc context + :report-type "population" + :population-basis "Observation") + evaluated-populations observation-code-stratifier) + [:result :fhir/type] := :fhir.MeasureReport.group/stratifier + [:result :code 0 :text] := #fhir/string"code" + [:result :stratum 0 :value :coding 0 :system] := #fhir/uri"http://loinc.org" + [:result :stratum 0 :value :coding 0 :code] := #fhir/code"17861-6" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1))))) + + (testing "Quantity" + (with-system-data [system mem-node-system] + [[[:put {:fhir/type :fhir/Patient :id "0"}] + [:put {:fhir/type :fhir/Observation :id "0" + :subject #fhir/Reference{:reference "Patient/0"} + :value #fhir/Quantity + {:value #fhir/decimal 1M + :code #fhir/code"kg"}}] + [:put {:fhir/type :fhir/Observation :id "1" + :subject #fhir/Reference{:reference "Patient/0"} + :value #fhir/Quantity + {:value #fhir/decimal 2M}}]]] + (let [{:keys [db] :as context} (context system library-observation-value-age) + evaluated-populations + {:handles + [[{:population-handle (d/resource-handle db "Observation" "0") + :subject-handle (d/resource-handle db "Patient" "0")} + {:population-handle (d/resource-handle db "Observation" "1") + :subject-handle (d/resource-handle db "Patient" "0")}]]}] + + (testing "report-type population" + (given (stratifier/evaluate + (assoc context + :report-type "population" + :population-basis "Observation") + evaluated-populations observation-value-stratifier) + [:result :fhir/type] := :fhir.MeasureReport.group/stratifier + [:result :code 0 :text] := #fhir/string"value" + [:result :stratum 0 :extension 0 :url] := "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.value" + [:result :stratum 0 :extension 0 :value :value] := #fhir/decimal 1M + [:result :stratum 0 :extension 0 :value :code] := #fhir/code"kg" + [:result :stratum 0 :value :text] := "1 kg" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 1 :extension 0 :url] := "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.value" + [:result :stratum 1 :extension 0 :value :value] := #fhir/decimal 2M + [:result :stratum 1 :value :text] := "2" + [:result :stratum 1 :population 0 :count] := #fhir/integer 1))))) + + (testing "errors" + (testing "with expression" + (with-system [system mem-node-system] + (let [context (context system empty-library) + evaluated-populations {:handles [[]]}] + (given (stratifier/evaluate + (assoc context + :report-type "population" + :group-idx 1 + :stratifier-idx 2) + evaluated-populations + stratifier-with-missing-expression) + ::anom/category := ::anom/incorrect + ::anom/message := "Missing expression." + :fhir/issue := "required" + :fhir.issue/expression := "Measure.group[1].stratifier[2].criteria")))) + + (testing "with unknown expression" + (with-system [system mem-node-system] + (let [context (context system empty-library) + evaluated-populations {:handles [[]]}] + (given (stratifier/evaluate (assoc context :report-type "population") + evaluated-populations gender-stratifier) + ::anom/category := ::anom/incorrect + ::anom/message := "Missing expression with name `Gender`." + :expression-name := "Gender")))))) (testing "two components" (testing "subject-based measure" @@ -190,22 +351,22 @@ (given (stratifier/evaluate (assoc context :report-type "population") evaluated-populations age-gender-stratifier) [:result :fhir/type] := :fhir.MeasureReport.group/stratifier - [:result :code 0 :text type/value] := "age" - [:result :code 1 :text type/value] := "gender" - [:result :stratum 0 :component 0 :code :text type/value] := "age" - [:result :stratum 0 :component 0 :value :text type/value] := "10" - [:result :stratum 0 :component 1 :code :text type/value] := "gender" - [:result :stratum 0 :component 1 :value :text type/value] := "female" - [:result :stratum 0 :population 0 :count type/value] := 1 - [:result :stratum 1 :component 0 :value :text type/value] := "10" - [:result :stratum 1 :component 1 :value :text type/value] := "male" - [:result :stratum 1 :population 0 :count type/value] := 1 - [:result :stratum 2 :component 0 :value :text type/value] := "20" - [:result :stratum 2 :component 1 :value :text type/value] := "male" - [:result :stratum 2 :population 0 :count type/value] := 1 - [:result :stratum 3 :component 0 :value :text type/value] := "null" - [:result :stratum 3 :component 1 :value :text type/value] := "null" - [:result :stratum 3 :population 0 :count type/value] := 1))))) + [:result :code 0 :text] := #fhir/string"age" + [:result :code 1 :text] := #fhir/string"gender" + [:result :stratum 0 :component 0 :code :text] := #fhir/string"age" + [:result :stratum 0 :component 0 :value :text] := #fhir/string"10" + [:result :stratum 0 :component 1 :code :text] := #fhir/string"gender" + [:result :stratum 0 :component 1 :value :text] := #fhir/string"female" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 1 :component 0 :value :text] := #fhir/string"10" + [:result :stratum 1 :component 1 :value :text] := #fhir/string"male" + [:result :stratum 1 :population 0 :count] := #fhir/integer 1 + [:result :stratum 2 :component 0 :value :text] := #fhir/string"20" + [:result :stratum 2 :component 1 :value :text] := #fhir/string"male" + [:result :stratum 2 :population 0 :count] := #fhir/integer 1 + [:result :stratum 3 :component 0 :value :text] := #fhir/string"null" + [:result :stratum 3 :component 1 :value :text] := #fhir/string"null" + [:result :stratum 3 :population 0 :count] := #fhir/integer 1))))) (testing "Encounter measure" (with-system-data [system mem-node-system] @@ -230,54 +391,106 @@ evaluated-populations {:handles [[{:population-handle (d/resource-handle db "Encounter" "0") - :subject-handle (d/resource-handle db "Patient" "0")} - {:population-handle (d/resource-handle db "Encounter" "1") - :subject-handle (d/resource-handle db "Patient" "0")} - {:population-handle (d/resource-handle db "Encounter" "2") - :subject-handle (d/resource-handle db "Patient" "1")} - {:population-handle (d/resource-handle db "Encounter" "3") - :subject-handle (d/resource-handle db "Patient" "2")}]]}] + :subject-handle (d/resource-handle db "Patient" "0")} + {:population-handle (d/resource-handle db "Encounter" "1") + :subject-handle (d/resource-handle db "Patient" "0")} + {:population-handle (d/resource-handle db "Encounter" "2") + :subject-handle (d/resource-handle db "Patient" "1")} + {:population-handle (d/resource-handle db "Encounter" "3") + :subject-handle (d/resource-handle db "Patient" "2")}]]}] (testing "report-type population" (given (stratifier/evaluate - (assoc context - :report-type "population" - :population-basis "Encounter") - evaluated-populations status-age-stratifier) + (assoc context + :report-type "population" + :population-basis "Encounter") + evaluated-populations status-age-stratifier) [:result :fhir/type] := :fhir.MeasureReport.group/stratifier - [:result :code 0 :text type/value] := "status" - [:result :code 1 :text type/value] := "age" - [:result :stratum 0 :component 0 :code :text type/value] := "status" - [:result :stratum 0 :component 0 :value :text type/value] := "finished" - [:result :stratum 0 :component 1 :code :text type/value] := "age" - [:result :stratum 0 :component 1 :value :text type/value] := "19" - [:result :stratum 0 :population 0 :count type/value] := 1 - [:result :stratum 1 :component 0 :value :text type/value] := "finished" - [:result :stratum 1 :component 1 :value :text type/value] := "20" - [:result :stratum 1 :population 0 :count type/value] := 1 - [:result :stratum 2 :component 0 :value :text type/value] := "null" - [:result :stratum 2 :component 1 :value :text type/value] := "null" - [:result :stratum 2 :population 0 :count type/value] := 1 - [:result :stratum 3 :component 0 :value :text type/value] := "planned" - [:result :stratum 3 :component 1 :value :text type/value] := "20" - [:result :stratum 3 :population 0 :count type/value] := 1))))) - - (testing "with unknown expression error" + [:result :code 0 :text] := #fhir/string"status" + [:result :code 1 :text] := #fhir/string"age" + [:result :stratum 0 :component 0 :code :text] := #fhir/string"status" + [:result :stratum 0 :component 0 :value :text] := #fhir/string"finished" + [:result :stratum 0 :component 1 :code :text] := #fhir/string"age" + [:result :stratum 0 :component 1 :value :text] := #fhir/string"19" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 1 :component 0 :value :text] := #fhir/string"finished" + [:result :stratum 1 :component 1 :value :text] := #fhir/string"20" + [:result :stratum 1 :population 0 :count] := #fhir/integer 1 + [:result :stratum 2 :component 0 :value :text] := #fhir/string"null" + [:result :stratum 2 :component 1 :value :text] := #fhir/string"null" + [:result :stratum 2 :population 0 :count] := #fhir/integer 1 + [:result :stratum 3 :component 0 :value :text] := #fhir/string"planned" + [:result :stratum 3 :component 1 :value :text] := #fhir/string"20" + [:result :stratum 3 :population 0 :count] := #fhir/integer 1))))) + + (testing "Quantity" (with-system-data [system mem-node-system] - [[[:put {:fhir/type :fhir/Patient :id "0"}] - [:put {:fhir/type :fhir/Patient :id "1" - :gender #fhir/code"male" - :birthDate #fhir/date"1960"}] - [:put {:fhir/type :fhir/Patient :id "2" - :gender #fhir/code"female" - :birthDate #fhir/date"1960"}] - [:put {:fhir/type :fhir/Patient :id "3" - :gender #fhir/code"male" - :birthDate #fhir/date"1950"}]]] - (let [{:keys [db] :as context} (context system empty-library) - evaluated-populations {:handles [(mapv handle (d/type-list db "Patient"))]}] - (given (stratifier/evaluate (assoc context :report-type "population") - evaluated-populations age-gender-stratifier) - ::anom/category := ::anom/incorrect - ::anom/message := "Missing expression with name `Age`." - :expression-name := "Age")))))) + [[[:put {:fhir/type :fhir/Patient :id "0" :birthDate #fhir/date"2000"}] + [:put {:fhir/type :fhir/Observation :id "0" + :subject #fhir/Reference{:reference "Patient/0"} + :effective #fhir/dateTime"2020" + :value #fhir/Quantity + {:value #fhir/decimal 1M + :code #fhir/code"kg"}}] + [:put {:fhir/type :fhir/Observation :id "1" + :subject #fhir/Reference{:reference "Patient/0"} + :effective #fhir/dateTime"2021" + :value #fhir/Quantity + {:value #fhir/decimal 2M}}]]] + (let [{:keys [db] :as context} (context system library-observation-value-age) + evaluated-populations + {:handles + [[{:population-handle (d/resource-handle db "Observation" "0") + :subject-handle (d/resource-handle db "Patient" "0")} + {:population-handle (d/resource-handle db "Observation" "1") + :subject-handle (d/resource-handle db "Patient" "0")}]]}] + + (testing "report-type population" + (given (stratifier/evaluate + (assoc context + :report-type "population" + :population-basis "Observation") + evaluated-populations observation-value-age-stratifier) + [:result :fhir/type] := :fhir.MeasureReport.group/stratifier + [:result :code 0 :text] := #fhir/string"value" + [:result :code 1 :text] := #fhir/string"age" + [:result :stratum 0 :component 0 :extension 0 :url] := "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.component.value" + [:result :stratum 0 :component 0 :extension 0 :value :value] := #fhir/decimal 1M + [:result :stratum 0 :component 0 :extension 0 :value :code] := #fhir/code"kg" + [:result :stratum 0 :component 0 :code :text] := #fhir/string"value" + [:result :stratum 0 :component 0 :value :text] := #fhir/string"1 kg" + [:result :stratum 0 :component 1 :code :text] := #fhir/string"age" + [:result :stratum 0 :component 1 :value :text] := #fhir/string"20" + [:result :stratum 0 :population 0 :count] := #fhir/integer 1 + [:result :stratum 1 :component 0 :extension 0 :url] := "http://hl7.org/fhir/5.0/StructureDefinition/extension-MeasureReport.group.stratifier.stratum.component.value" + [:result :stratum 1 :component 0 :extension 0 :value :value] := #fhir/decimal 2M + [:result :stratum 1 :component 0 :value :text] := #fhir/string"2" + [:result :stratum 1 :component 1 :value :text] := #fhir/string"21" + [:result :stratum 1 :population 0 :count] := #fhir/integer 1))))) + + (testing "errors" + (testing "with expression" + (with-system [system mem-node-system] + (let [context (context system empty-library) + evaluated-populations {:handles [[]]}] + (given (stratifier/evaluate + (assoc context + :report-type "population" + :group-idx 1 + :stratifier-idx 2) + evaluated-populations + multi-component-stratifier-with-missing-expression) + ::anom/category := ::anom/incorrect + ::anom/message := "Missing expression." + :fhir/issue := "required" + :fhir.issue/expression := "Measure.group[1].stratifier[2].component[0].criteria")))) + + (testing "with unknown expression" + (with-system [system mem-node-system] + (let [context (context system empty-library) + evaluated-populations {:handles [[]]}] + (given (stratifier/evaluate (assoc context :report-type "population") + evaluated-populations age-gender-stratifier) + ::anom/category := ::anom/incorrect + ::anom/message := "Missing expression with name `Age`." + :expression-name := "Age"))))))) diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure_test.clj b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure_test.clj index c83f977a2..38f3e8ca8 100644 --- a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure_test.clj +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/measure_test.clj @@ -438,7 +438,8 @@ "q44-tnm-t" 1 "q45-histology" 1 "q46-between-date" 1 - "q47-managing-organization" 1) + "q47-managing-organization" 1 + "q48-concept" 2) (let [result (evaluate "q1" "subject-list")] (testing "MeasureReport is valid" @@ -620,5 +621,5 @@ (comment (log/set-level! :debug) - (evaluate "q47-managing-organization") + (evaluate "q48-concept") ) diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.cql b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.cql new file mode 100644 index 000000000..786e6634f --- /dev/null +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.cql @@ -0,0 +1,12 @@ +library "q48-concept" +using FHIR version '4.0.0' +include FHIRHelpers version '4.0.0' + +codesystem icd10: 'http://hl7.org/fhir/sid/icd-10' +code "ICD-10: C61": 'C61' from icd10 +codesystem sct: 'http://snomed.info/sct' +code "SNOMED: 254900004": '254900004' from sct +concept prostata: {"ICD-10: C61", "SNOMED: 254900004"} + +define InInitialPopulation: + exists [Condition: prostata] diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.json b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.json new file mode 100644 index 000000000..923affd78 --- /dev/null +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/q48-concept.json @@ -0,0 +1,139 @@ +{ + "resourceType": "Bundle", + "type": "transaction", + "entry": [ + { + "resource": { + "resourceType": "Patient", + "id": "0" + }, + "request": { + "method": "PUT", + "url": "Patient/0" + } + }, + { + "resource": { + "resourceType": "Patient", + "id": "1" + }, + "request": { + "method": "PUT", + "url": "Patient/1" + } + }, + { + "resource": { + "resourceType": "Patient", + "id": "2" + }, + "request": { + "method": "PUT", + "url": "Patient/2" + } + }, + { + "request": { + "method": "PUT", + "url": "Condition/0" + }, + "resource": { + "code": { + "coding": [ + { + "system": "http://hl7.org/fhir/sid/icd-10", + "code": "C61" + } + ] + }, + "id": "0", + "meta": { + "profile": [ + "https://fhir.bbmri.de/StructureDefinition/Condition" + ] + }, + "resourceType": "Condition", + "subject": { + "reference": "Patient/0" + } + } + }, + { + "request": { + "method": "PUT", + "url": "Condition/1" + }, + "resource": { + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "254900004" + } + ] + }, + "id": "1", + "meta": { + "profile": [ + "https://fhir.bbmri.de/StructureDefinition/Condition" + ] + }, + "resourceType": "Condition", + "subject": { + "reference": "Patient/1" + } + } + }, + { + "resource": { + "resourceType": "Measure", + "id": "0", + "url": "0", + "status": "active", + "subjectCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/resource-types", + "code": "Patient" + } + ] + }, + "library": [ + "0" + ], + "scoring": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-scoring", + "code": "cohort" + } + ] + }, + "group": [ + { + "population": [ + { + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + }, + "criteria": { + "language": "text/cql-identifier", + "expression": "InInitialPopulation" + } + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "Measure/0" + } + } + ] +} diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/test_util.clj b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/test_util.clj index e5dd5ed68..6644eaf96 100644 --- a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/test_util.clj +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure/test_util.clj @@ -8,3 +8,9 @@ (fn [request] (-> (handler request) (ac/exceptionally handler-util/error-response)))) + + +(defn extract-txs-body [more] + (if (vector? (first more)) + [(first more) (next more)] + [[] more])) diff --git a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure_test.clj b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure_test.clj index d7b2ddf83..ad533d8d8 100644 --- a/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure_test.clj +++ b/modules/operation-measure-evaluate-measure/test/blaze/fhir/operation/evaluate_measure_test.clj @@ -4,7 +4,7 @@ [blaze.db.api-stub :refer [mem-node-system with-system-data]] [blaze.executors :as ex] [blaze.fhir.operation.evaluate-measure :as evaluate-measure] - [blaze.fhir.operation.evaluate-measure.test-util :refer [wrap-error]] + [blaze.fhir.operation.evaluate-measure.test-util :as etu :refer [wrap-error]] [blaze.fhir.spec.type :as type] [blaze.metrics.spec] [blaze.middleware.fhir.db :refer [wrap-db]] @@ -154,20 +154,20 @@ ::reitit/router router)))) -(defmacro with-handler [[handler-binding] txs & body] - `(with-system-data [{node# :blaze.db/node - handler# ::evaluate-measure/handler} system] - ~txs - (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) - wrap-error)] - ~@body))) +(defmacro with-handler [[handler-binding] & more] + (let [[txs body] (etu/extract-txs-body more)] + `(with-system-data [{node# :blaze.db/node + handler# ::evaluate-measure/handler} system] + ~txs + (let [~handler-binding (-> handler# wrap-defaults (wrap-db node#) + wrap-error)] + ~@body)))) (deftest handler-test (testing "Returns Not Found on Non-Existing Measure" (testing "on instance endpoint" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:path-params {:id "0"} @@ -184,7 +184,6 @@ (testing "on type endpoint" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:params @@ -203,7 +202,6 @@ (testing "with missing measure parameter" (with-handler [handler] - [] (let [{:keys [status body]} @(handler {:params diff --git a/modules/page-store-cassandra/Makefile b/modules/page-store-cassandra/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/page-store-cassandra/Makefile +++ b/modules/page-store-cassandra/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/page-store/Makefile b/modules/page-store/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/page-store/Makefile +++ b/modules/page-store/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/page-store/deps.edn b/modules/page-store/deps.edn index 21e23d42d..433afc85a 100644 --- a/modules/page-store/deps.edn +++ b/modules/page-store/deps.edn @@ -11,7 +11,7 @@ {:local/root "../module-base"} com.github.ben-manes.caffeine/caffeine - {:mvn/version "3.1.1"} + {:mvn/version "3.1.2"} com.google.guava/guava {:mvn/version "31.1-jre"}} diff --git a/modules/rest-api/Makefile b/modules/rest-api/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/rest-api/Makefile +++ b/modules/rest-api/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/rest-api/src/blaze/rest_api/capabilities.clj b/modules/rest-api/src/blaze/rest_api/capabilities.clj index 2490bd43b..bc353232e 100644 --- a/modules/rest-api/src/blaze/rest_api/capabilities.clj +++ b/modules/rest-api/src/blaze/rest_api/capabilities.clj @@ -52,7 +52,7 @@ :history-type :create :search-type]) - :versioning #fhir/code"versioned" + :versioning #fhir/code"versioned-update" :readHistory true :updateCreate true :conditionalCreate true @@ -117,10 +117,11 @@ :copyright #fhir/markdown"Copyright 2019 - 2022 The Samply Community\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." :kind #fhir/code"instance" - :date #fhir/dateTime"2022-11-12" + :date #fhir/dateTime"2022-12-17" :software {:name "Blaze" - :version version} + :version version + :releaseDate #fhir/dateTime"2022-12-17"} :implementation {:description "Blaze"} :fhirVersion #fhir/code"4.0.1" diff --git a/modules/rest-util/Makefile b/modules/rest-util/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/rest-util/Makefile +++ b/modules/rest-util/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/rest-util/deps.edn b/modules/rest-util/deps.edn index 2ff2fe1bb..b02b41358 100644 --- a/modules/rest-util/deps.edn +++ b/modules/rest-util/deps.edn @@ -9,7 +9,7 @@ {:local/root "../fhir-structure"} org.apache.httpcomponents/httpcore - {:mvn/version "4.4.15"} + {:mvn/version "4.4.16"} metosin/reitit-ring {:mvn/version "0.5.18"} diff --git a/modules/rocksdb/Makefile b/modules/rocksdb/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/rocksdb/Makefile +++ b/modules/rocksdb/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/modules/test-util/deps.edn b/modules/test-util/deps.edn index 0434e2339..601b768af 100644 --- a/modules/test-util/deps.edn +++ b/modules/test-util/deps.edn @@ -25,4 +25,4 @@ {:mvn/version "1.1.1"} org.slf4j/slf4j-nop - {:mvn/version "2.0.3"}}} + {:mvn/version "2.0.6"}}} diff --git a/modules/thread-pool-executor-collector/Makefile b/modules/thread-pool-executor-collector/Makefile index 196a53ceb..8eb60f27a 100644 --- a/modules/thread-pool-executor-collector/Makefile +++ b/modules/thread-pool-executor-collector/Makefile @@ -1,13 +1,16 @@ lint: clj-kondo --lint src test deps.edn -test: +prep: + clojure -X:deps prep + +test: prep clojure -M:test:kaocha --profile :ci -test-coverage: +test-coverage: prep clojure -M:test:coverage clean: rm -rf .clj-kondo/.cache .cpcache target -.PHONY: lint test test-coverage clean +.PHONY: lint prep test test-coverage clean diff --git a/perf-test/gatling/pom.xml b/perf-test/gatling/pom.xml index 924cdf32a..c4de06c9e 100644 --- a/perf-test/gatling/pom.xml +++ b/perf-test/gatling/pom.xml @@ -5,7 +5,7 @@ <groupId>samply.blaze</groupId> <artifactId>gatling</artifactId> - <version>0.18.4</version> + <version>0.18.5</version> <properties> <maven.compiler.source>1.8</maven.compiler.source> diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 1b3254d8f..000000000 --- a/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>samply</groupId> - <artifactId>blaze</artifactId> - <version>0.18.4</version> - <name>blaze</name> - - <description>A FHIR Store with internal, fast CQL Evaluation Engine</description> - <url>https://github.com/samply/blaze</url> - <licenses> - <license> - <name>Apache License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0</url> - </license> - </licenses> - - <developers> - <developer> - <name>Alexander Kiel</name> - </developer> - </developers> - -</project> diff --git a/src/blaze/core.clj b/src/blaze/core.clj index c371b9064..000f90b5c 100644 --- a/src/blaze/core.clj +++ b/src/blaze/core.clj @@ -2,7 +2,8 @@ (:require [blaze.system :as system] [clojure.string :as str] - [taoensso.timbre :as log])) + [taoensso.timbre :as log]) + (:gen-class)) (defn- max-memory [] diff --git a/src/blaze/system.clj b/src/blaze/system.clj index 0f330c57c..972bdea3a 100644 --- a/src/blaze/system.clj +++ b/src/blaze/system.clj @@ -85,7 +85,7 @@ (def ^:private root-config - {:blaze/version "0.18.4" + {:blaze/version "0.18.5" :blaze/clock {}