diff --git a/.gitignore b/.gitignore index 2b14c62c..2452a53e 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,7 @@ validator/nested-package-version-dependencies/hl7.fhir.test.versions#0.1.0/packa validator/nested-package-version-dependencies/hl7.fhir.test.versions#0.2.0/package/package-lock.json + +npm/test.format.old/package/package-lock.json + +npm/test.format.new/package/package-lock.json diff --git a/validator/manifest.json b/validator/manifest.json index 76930268..ce3f126f 100644 --- a/validator/manifest.json +++ b/validator/manifest.json @@ -20461,6 +20461,17 @@ "expression": [ "CodeSystem.concept[0]" ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[2,41]", + "expression": [ + "CodeSystem.concept[0]" + ] } ] } @@ -30546,6 +30557,17 @@ "expression": [ "CodeSystem.concept[0]" ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[1,2]", + "expression": [ + "CodeSystem.concept[0]" + ] } ] } @@ -33006,6 +33028,17 @@ "expression": [ "ValueSet.contained[0]/*CodeSystem/c1*/" ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[10,4]", + "expression": [ + "ValueSet.contained[0]/*CodeSystem/c1*/.concept[0]" + ] } ] } @@ -33030,6 +33063,17 @@ "ValueSet.contained[0]/*CodeSystem/c1*/" ] }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[10,4]", + "expression": [ + "ValueSet.contained[0]/*CodeSystem/c1*/.concept[0]" + ] + }, { "severity": "error", "code": "invalid", @@ -48375,6 +48419,17 @@ "CodeSystem.property[4]" ] }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[1,2]", + "expression": [ + "CodeSystem.concept[0]" + ] + }, { "severity": "warning", "code": "business-rule", @@ -48737,7 +48792,35 @@ "file": "codesystem-example-supplement-version.xml", "version": "5.0", "explanation": "check version specific supplement reference", - "java": {} + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a display" + }, + "diagnostics": "[3,41]", + "expression": [ + "CodeSystem.concept[0]" + ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[3,41]", + "expression": [ + "CodeSystem.concept[0]" + ] + } + ] + } + } }, { "name": "additional-bindings-observation-1", @@ -50258,6 +50341,17 @@ "expression": [ "CodeSystem.property[1]" ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[1,2]", + "expression": [ + "CodeSystem.concept[0]" + ] } ] } @@ -50295,6 +50389,17 @@ "expression": [ "CodeSystem.property[0]" ] + }, + { + "severity": "warning", + "code": "business-rule", + "details": { + "text": "HL7 Defined CodeSystems should ensure that every concept has a definition" + }, + "diagnostics": "[1,4]", + "expression": [ + "CodeSystem.concept[0]" + ] } ] } @@ -50869,7 +50974,7 @@ }, { "name": "matchetype-pattern-1", - "file": "matchetype-pattern.json", + "file": "matchetype/matchetype-pattern.json", "version": "4.0", "packages": [ "hl7.fhir.uv.tools#current" @@ -50896,7 +51001,7 @@ }, { "name": "matchetype-pattern-2", - "file": "matchetype-pattern.json", + "file": "matchetype/matchetype-pattern.json", "version": "4.0", "packages": [ "hl7.fhir.uv.tools#current" @@ -50931,6 +51036,750 @@ } } }, + { + "name": "matchetype-ss-good", + "file": "matchetype/singleton-simple-good.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-ss-invalid", + "file": "matchetype/singleton-simple-invalid.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $: unexpected element gender" + }, + "diagnostics": "[1,2]", + "expression": [ + "$" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-ss-missing", + "file": "matchetype/singleton-simple-missing.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $: missing element birthDate" + }, + "diagnostics": "[1,2]", + "expression": [ + "$" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-ss-wrong", + "file": "matchetype/singleton-simple-wrong.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "date property values differ at $.birthDate: expected 'A date' but found '2024-01'" + }, + "diagnostics": "[14,25]", + "expression": [ + "$.birthDate" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-ss-opt-yes", + "file": "matchetype/singleton-simple-optional-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-ss-opt-no", + "file": "matchetype/singleton-simple-optional-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-ss-opt-wrong", + "file": "matchetype/singleton-simple-optional-wrong.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-simple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "id property values differ at $.id: expected \"matchetype\" but found 'matchetypeX'" + }, + "diagnostics": "[13,22]", + "expression": [ + "$.id" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-sc-good", + "file": "matchetype/singleton-complex-good.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-sc-invalid", + "file": "matchetype/singleton-complex-invalid.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $.maritalStatus: unexpected element text" + }, + "diagnostics": "[7,4]", + "expression": [ + "$.maritalStatus" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-sc-missing", + "file": "matchetype/singleton-complex-missing.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $: missing element maritalStatus" + }, + "diagnostics": "[1,2]", + "expression": [ + "$" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-sc-wrong", + "file": "matchetype/singleton-complex-wrong.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $: unexpected element managingOrganization" + }, + "diagnostics": "[1,2]", + "expression": [ + "$" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-sc-opt-yes", + "file": "matchetype/singleton-complex-optional-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-sc-opt-no", + "file": "matchetype/singleton-complex-optional-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-sc-opt-wrong", + "file": "matchetype/singleton-complex-optional-wrong.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/singleton-complex-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "code property values differ at $.text.status: expected \"generated\" but found 'extensions'" + }, + "diagnostics": "[14,27]", + "expression": [ + "$.text.status" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-single-present", + "file": "matchetype/list-single-present.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-single-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-list-single-extra", + "file": "matchetype/list-single-extra.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-single-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "array item count differs at $.name: expected \"1\" but found '2'" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + }, + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 1" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-single-missing", + "file": "matchetype/list-single-missing.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-single-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "properties differ at $: missing element name" + }, + "diagnostics": "[1,2]", + "expression": [ + "$" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-multiple-present", + "file": "matchetype/list-multiple-present.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-multiple-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-list-multiple-extra", + "file": "matchetype/list-multiple-extra.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-multiple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "array item count differs at $.name: expected \"2\" but found '3'" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + }, + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 2" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-multiple-missing-1", + "file": "matchetype/list-multiple-missing-1.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-multiple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "array item count differs at $.name: expected \"2\" but found '1'" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + }, + { + "severity": "error", + "code": "value", + "details": { + "text": "string property values differ at $.name[0].text: expected \"test-name-1\" but found 'test-name-2'" + }, + "diagnostics": "[10,27]", + "expression": [ + "$.name[0].text" + ] + }, + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 0" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-multiple-missing-2", + "file": "matchetype/list-multiple-missing-2.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-multiple-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "array item count differs at $.name: expected \"2\" but found '1'" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + }, + { + "severity": "error", + "code": "value", + "details": { + "text": "One or more array items did not match at $.name starting at index 1" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-optional-start-yes", + "file": "matchetype/list-optional-start-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-no", + "file": "matchetype/list-optional-start-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-other", + "file": "matchetype/list-optional-start-other.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-yes", + "file": "matchetype/list-optional-start-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-no", + "file": "matchetype/list-optional-start-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-other", + "file": "matchetype/list-optional-start-other.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-yes", + "file": "matchetype/list-optional-start-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-no", + "file": "matchetype/list-optional-start-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-start-other", + "file": "matchetype/list-optional-start-other.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-start-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 0" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-optional-middle-yes", + "file": "matchetype/list-optional-middle-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-middle-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-middle-no", + "file": "matchetype/list-optional-middle-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-middle-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-middle-other", + "file": "matchetype/list-optional-middle-other.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-middle-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 1" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-optional-end-yes", + "file": "matchetype/list-optional-end-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-end-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-end-no", + "file": "matchetype/list-optional-end-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-end-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-optional-end-other", + "file": "matchetype/list-optional-end-other.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-optional-end-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "Unexpected Node found in array at '$.name' at index 2" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-count-yes", + "file": "matchetype/list-count-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-count-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-list-count-no", + "file": "matchetype/list-count-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-count-pattern.json", + "java": { + "outcome": { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "item count differs at $.name: expected \"3\" but found '2'" + }, + "diagnostics": "[1,2]", + "expression": [ + "$.name" + ] + } + ] + } + } + } + }, + { + "name": "matchetype-list-sort-yes", + "file": "matchetype/list-sort-yes.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-sort-pattern.json", + "java": {} + } + }, + { + "name": "matchetype-list-sort-no", + "file": "matchetype/list-sort-no.json", + "version": "4.0", + "java": {}, + "matchetype": { + "source": "matchetype/list-sort-pattern.json", + "java": {} + } + }, { "name": "zzz", "file": "zzz.json", diff --git a/validator/matchetype/list-count-no.json b/validator/matchetype/list-count-no.json new file mode 100644 index 00000000..99eccc4d --- /dev/null +++ b/validator/matchetype/list-count-no.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-x" + },{ + "text" : "test-name-x" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-count-pattern.json b/validator/matchetype/list-count-pattern.json new file mode 100644 index 00000000..50430b6f --- /dev/null +++ b/validator/matchetype/list-count-pattern.json @@ -0,0 +1,20 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + }, + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype-count", + "valueString" : "name" + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-count-yes.json b/validator/matchetype/list-count-yes.json new file mode 100644 index 00000000..bd4f08ae --- /dev/null +++ b/validator/matchetype/list-count-yes.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-x" + },{ + "text" : "test-name-x" + },{ + "text" : "test-name-x" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-multiple-extra.json b/validator/matchetype/list-multiple-extra.json new file mode 100644 index 00000000..0a7aacb9 --- /dev/null +++ b/validator/matchetype/list-multiple-extra.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-multiple-missing-1.json b/validator/matchetype/list-multiple-missing-1.json new file mode 100644 index 00000000..7ef1ddc6 --- /dev/null +++ b/validator/matchetype/list-multiple-missing-1.json @@ -0,0 +1,6 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-multiple-missing-2.json b/validator/matchetype/list-multiple-missing-2.json new file mode 100644 index 00000000..bdabd733 --- /dev/null +++ b/validator/matchetype/list-multiple-missing-2.json @@ -0,0 +1,6 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-multiple-pattern.json b/validator/matchetype/list-multiple-pattern.json new file mode 100644 index 00000000..cd4ab772 --- /dev/null +++ b/validator/matchetype/list-multiple-pattern.json @@ -0,0 +1,14 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-multiple-present.json b/validator/matchetype/list-multiple-present.json new file mode 100644 index 00000000..54aa1416 --- /dev/null +++ b/validator/matchetype/list-multiple-present.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-end-no.json b/validator/matchetype/list-optional-end-no.json new file mode 100644 index 00000000..54aa1416 --- /dev/null +++ b/validator/matchetype/list-optional-end-no.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-end-other.json b/validator/matchetype/list-optional-end-other.json new file mode 100644 index 00000000..5d7694c1 --- /dev/null +++ b/validator/matchetype/list-optional-end-other.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-4" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-end-pattern.json b/validator/matchetype/list-optional-end-pattern.json new file mode 100644 index 00000000..4ff813e4 --- /dev/null +++ b/validator/matchetype/list-optional-end-pattern.json @@ -0,0 +1,22 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype-optional", + "valueBoolean" : true + } + ], + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-end-yes.json b/validator/matchetype/list-optional-end-yes.json new file mode 100644 index 00000000..0a7aacb9 --- /dev/null +++ b/validator/matchetype/list-optional-end-yes.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-middle-no.json b/validator/matchetype/list-optional-middle-no.json new file mode 100644 index 00000000..405aa284 --- /dev/null +++ b/validator/matchetype/list-optional-middle-no.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-middle-other.json b/validator/matchetype/list-optional-middle-other.json new file mode 100644 index 00000000..524b59e9 --- /dev/null +++ b/validator/matchetype/list-optional-middle-other.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2a" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-middle-pattern.json b/validator/matchetype/list-optional-middle-pattern.json new file mode 100644 index 00000000..ccbc5bff --- /dev/null +++ b/validator/matchetype/list-optional-middle-pattern.json @@ -0,0 +1,22 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype-optional", + "valueBoolean" : true + } + ], + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-middle-yes.json b/validator/matchetype/list-optional-middle-yes.json new file mode 100644 index 00000000..0a7aacb9 --- /dev/null +++ b/validator/matchetype/list-optional-middle-yes.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-start-no.json b/validator/matchetype/list-optional-start-no.json new file mode 100644 index 00000000..b67d0a3d --- /dev/null +++ b/validator/matchetype/list-optional-start-no.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-start-other.json b/validator/matchetype/list-optional-start-other.json new file mode 100644 index 00000000..fd01ddae --- /dev/null +++ b/validator/matchetype/list-optional-start-other.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1a" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-start-pattern.json b/validator/matchetype/list-optional-start-pattern.json new file mode 100644 index 00000000..f7f64a0e --- /dev/null +++ b/validator/matchetype/list-optional-start-pattern.json @@ -0,0 +1,22 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + } + ], + "resourceType" : "Patient", + "name" : [{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype-optional", + "valueBoolean" : true + } + ], + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-optional-start-yes.json b/validator/matchetype/list-optional-start-yes.json new file mode 100644 index 00000000..0a7aacb9 --- /dev/null +++ b/validator/matchetype/list-optional-start-yes.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-single-extra.json b/validator/matchetype/list-single-extra.json new file mode 100644 index 00000000..b7500a4b --- /dev/null +++ b/validator/matchetype/list-single-extra.json @@ -0,0 +1,8 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name" + },{ + "text" : "test-name2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-single-missing.json b/validator/matchetype/list-single-missing.json new file mode 100644 index 00000000..772c976b --- /dev/null +++ b/validator/matchetype/list-single-missing.json @@ -0,0 +1,3 @@ +{ + "resourceType" : "Patient" +} \ No newline at end of file diff --git a/validator/matchetype/list-single-pattern.json b/validator/matchetype/list-single-pattern.json new file mode 100644 index 00000000..9aa1c48e --- /dev/null +++ b/validator/matchetype/list-single-pattern.json @@ -0,0 +1,12 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-single-present.json b/validator/matchetype/list-single-present.json new file mode 100644 index 00000000..56b56cba --- /dev/null +++ b/validator/matchetype/list-single-present.json @@ -0,0 +1,6 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-sort-no.json b/validator/matchetype/list-sort-no.json new file mode 100644 index 00000000..edc7ebc2 --- /dev/null +++ b/validator/matchetype/list-sort-no.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-3" + },{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-sort-pattern.json b/validator/matchetype/list-sort-pattern.json new file mode 100644 index 00000000..a37d5b70 --- /dev/null +++ b/validator/matchetype/list-sort-pattern.json @@ -0,0 +1,26 @@ +{ + "extension" : [ + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype", + "valueBoolean" : true + }, + { + "url" : "http://hl7.org/fhir/tools/StructureDefinition/matchetype-sort", + "extension" : [{ + "url" : "element", + "valueString" : "name" + },{ + "url" : "expression", + "valueString" : "text" + }] + } + ], + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/list-sort-yes.json b/validator/matchetype/list-sort-yes.json new file mode 100644 index 00000000..0a7aacb9 --- /dev/null +++ b/validator/matchetype/list-sort-yes.json @@ -0,0 +1,10 @@ +{ + "resourceType" : "Patient", + "name" : [{ + "text" : "test-name-1" + },{ + "text" : "test-name-2" + },{ + "text" : "test-name-3" + }] +} \ No newline at end of file diff --git a/validator/matchetype/matchetype-instance-bad.json b/validator/matchetype/matchetype-instance-bad.json new file mode 100644 index 00000000..a3f97c4f --- /dev/null +++ b/validator/matchetype/matchetype-instance-bad.json @@ -0,0 +1,288 @@ +{ + "resourceType" : "ValueSet", + "version" : "6.0.0", + "name" : "BigValueSetAll", + "title" : "Big ValueSet All", + "status" : "active", + "experimental" : false, + "date" : "2023-04-01", + "publisher" : "FHIR Project", + "compose" : { + "include" : [ + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big" + } + ] + }, + "expansion" : { + "identifier" : "not-a-guid", + "timestamp" : "202-03-04", + "offset" : 0, + "total" : 2000, + "parameter" : [ + { + "name" : "count", + "valueInteger" : 50 + }, + { + "name" : "offset", + "valueInteger" : 0 + }, + { + "name" : "used-codesystem", + "valueUri" : "http://hl7.org/fhir/test/CodeSystem/big" + }, + { + "name" : "version2", + "valueUri" : "http://hl7.org/fhir/test/CodeSystem/big" + } + ], + "contains" : [ + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "$uuid$", + "display" : "Display 1" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code10", + "display" : "Display 10" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code11", + "display" : "Display 11" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code12", + "display" : "Display 12" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code13", + "display" : "Display 13" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code14", + "display" : "Display 14" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code15", + "display" : "Display 15" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code16", + "display" : "Display 16" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code17", + "display" : "Display 17" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code18", + "display" : "Display 18" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code19", + "display" : "Display 19" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code2", + "display" : "Display 2" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code20", + "display" : "Display 20" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code21", + "display" : "Display 21" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code22", + "display" : "Display 22" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code23", + "display" : "Display 23" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code24", + "display" : "Display 24" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code25", + "display" : "Display 25" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code26", + "display" : "Display 26" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code27", + "display" : "Display 27" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code28", + "display" : "Display 28" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code29", + "display" : "Display 29" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code3", + "display" : "Display 3" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code30", + "display" : "Display 30" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code31", + "display" : "Display 31" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code32", + "display" : "Display 32" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code33", + "display" : "Display 33" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code34", + "display" : "Display 34" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code35", + "display" : "Display 35" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code36", + "display" : "Display 36" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code37", + "display" : "Display 37" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code38", + "display" : "Display 38" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code39", + "display" : "Display 39" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code4", + "display" : "Display 4" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code40", + "display" : "Display 40" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code41", + "display" : "Display 41" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code42", + "display" : "Display 42" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code43", + "display" : "Display 43" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code44", + "display" : "Display 44" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code45", + "display" : "Display 45" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code46", + "display" : "Display 46" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code47", + "display" : "Display 47" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code48", + "display" : "Display 48" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code49", + "display" : "Display 49" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code5", + "display" : "Display 5" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code50", + "display" : "Display 50" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code6", + "display" : "Display 6" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code7", + "display" : "Display 7" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code9", + "display" : "Display 9" + } + ] + } +} diff --git a/validator/matchetype/matchetype-instance-good.json b/validator/matchetype/matchetype-instance-good.json new file mode 100644 index 00000000..bdec767e --- /dev/null +++ b/validator/matchetype/matchetype-instance-good.json @@ -0,0 +1,281 @@ +{ + "resourceType" : "ValueSet", + "url" : "http://hl7.org/fhir/test/ValueSet/big", + "version" : "5.0.0", + "name" : "BigValueSetAll", + "title" : "Big ValueSet All", + "status" : "active", + "experimental" : false, + "expansion" : { + "identifier" : "urn:uuid:f3b37e72-aa51-4dae-9e0c-03f68c7f3f09", + "timestamp" : "2025-01-01T11:35:45.0000Z", + "offset" : 0, + "total" : 5000, + "parameter" : [ + { + "name" : "count", + "valueInteger" : 50 + }, + { + "name" : "offset", + "valueInteger" : 0 + }, + { + "name" : "used-codesystem", + "valueUri" : "http://hl7.org/fhir/test/CodeSystem/big" + } + ], + "contains" : [ + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "$uuid$", + "display" : "Display 1" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code10", + "display" : "Display 10" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code11", + "display" : "Display 11" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code12", + "display" : "Display 12" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code13", + "display" : "Display 13" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code14", + "display" : "Display 14" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code15", + "display" : "Display 15" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code16", + "display" : "Display 16" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code17", + "display" : "Display 17" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code18", + "display" : "Display 18" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code19", + "display" : "Display 19" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code2", + "display" : "Display 2" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code20", + "display" : "Display 20" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code21", + "display" : "Display 21" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code22", + "display" : "Display 22" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code23", + "display" : "Display 23" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code24", + "display" : "Display 24" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code25", + "display" : "Display 25" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code26", + "display" : "Display 26" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code27", + "display" : "Display 27" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code28", + "display" : "Display 28" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code29", + "display" : "Display 29" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code3", + "display" : "Display 3" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code30", + "display" : "Display 30" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code31", + "display" : "Display 31" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code32", + "display" : "Display 32" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code33", + "display" : "Display 33" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code34", + "display" : "Display 34" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code35", + "display" : "Display 35" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code36", + "display" : "Display 36" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code37", + "display" : "Display 37" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code38", + "display" : "Display 38" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code39", + "display" : "Display 39" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code4", + "display" : "Display 4" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code40", + "display" : "Display 40" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code41", + "display" : "Display 41" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code42", + "display" : "Display 42" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code43", + "display" : "Display 43" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code44", + "display" : "Display 44" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code45", + "display" : "Display 45" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code46", + "display" : "Display 46" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code47", + "display" : "Display 47" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code48", + "display" : "Display 48" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code49", + "display" : "Display 49" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code5", + "display" : "Display 5" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code50", + "display" : "Display 50" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code6", + "display" : "Display 6" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code7", + "display" : "Display 7" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code8", + "display" : "Display 8" + }, + { + "system" : "http://hl7.org/fhir/test/CodeSystem/big", + "code" : "code9", + "display" : "Display 9" + } + ] + } +} diff --git a/validator/matchetype/matchetype-patient-good.json b/validator/matchetype/matchetype-patient-good.json new file mode 100644 index 00000000..42abe80a --- /dev/null +++ b/validator/matchetype/matchetype-patient-good.json @@ -0,0 +1,9 @@ +{ + "resourceType" : "Patient", + "id" : "pat-good", + "active" : true, + "meta" : { + "lastUpdated" : "2025-02-01T10:00:00.000Z" + } +} + \ No newline at end of file diff --git a/validator/matchetype-pattern.json b/validator/matchetype/matchetype-pattern.json similarity index 100% rename from validator/matchetype-pattern.json rename to validator/matchetype/matchetype-pattern.json diff --git a/validator/matchetype/singleton-complex-good.json b/validator/matchetype/singleton-complex-good.json new file mode 100644 index 00000000..ef6bb841 --- /dev/null +++ b/validator/matchetype/singleton-complex-good.json @@ -0,0 +1,14 @@ +{ + "resourceType" : "Patient", + "text" : { + "status" : "generated", + "div" : "