There are some xsd's that describe FHIR objects and their content (element-names).
like:
fhir-single.xsd
.html#schema
(page 6 of below) .pdf
and (some actual files themselves):
.xsd
and you can get a "single" FHIR resource as well .xsd
Ok, so if I go to the "resource CONTENT":
.html#resource
If I open up allergyintolerance.xsd
and search for the CONTENT (element-name) of "verificationStatus", it is found easily.
<xs:complexType name="AllergyIntolerance">
<xs:annotation>
<xs:documentation xml:lang="en">Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.</xs:documentation>
<xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="DomainResource">
<xs:sequence>
<xs:element name="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
<xs:annotation>
<xs:documentation xml:lang="en">Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="clinicalStatus" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">The clinical status of the allergy or intolerance.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verificationStatus" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).</xs:documentation>
</xs:annotation>
</xs:element>
However, if I go to the Search-Parameters (of AllergyIntolerance )
.html#search
and find "verification-status" (<< this is a search-parameter name)
if I got back and open and search for "verification-status" in allergyintolerance.xsd, there are no matches.
Aka, I don't see the search-parameters in the allergyintolerance.xsd.
...
I tried a few different FHIR resources.
Download .xsd
Find the SEARCH Parameters:
.html#search
Pick one, a uniquely named one like 'datewritten' (< case matters)
search the visionprescription.xsd file contents for "datewritten", and no results.
........
The question:
Is there any xsd's (or root single source of truth) that contains the SEARCH PARAMETER information of (any) FHIR-Resource ?
There are some xsd's that describe FHIR objects and their content (element-names).
like:
fhir-single.xsd
https://build.fhir./validation.html#schema
(page 6 of below) https://www.devdays/wp-content/uploads/2020/12/wvoal_201118_GrahameGrieve_The_Use_and_Limits_of_Validation.pdf
and (some actual files themselves):
https://github/hapifhir/hapi-fhir/blob/master/hapi-fhir-validation-resources-r4/src/main/resources//hl7/fhir/r4/model/schema/fhir-single.xsd
and you can get a "single" FHIR resource as well https://github/hapifhir/hapi-fhir/blob/master/hapi-fhir-validation-resources-r4/src/main/resources//hl7/fhir/r4/model/schema/allergyintolerance.xsd
Ok, so if I go to the "resource CONTENT":
https://hl7./fhir/R4/allergyintolerance.html#resource
If I open up allergyintolerance.xsd
and search for the CONTENT (element-name) of "verificationStatus", it is found easily.
<xs:complexType name="AllergyIntolerance">
<xs:annotation>
<xs:documentation xml:lang="en">Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.</xs:documentation>
<xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="DomainResource">
<xs:sequence>
<xs:element name="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
<xs:annotation>
<xs:documentation xml:lang="en">Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="clinicalStatus" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">The clinical status of the allergy or intolerance.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verificationStatus" minOccurs="0" maxOccurs="1" type="CodeableConcept">
<xs:annotation>
<xs:documentation xml:lang="en">Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).</xs:documentation>
</xs:annotation>
</xs:element>
However, if I go to the Search-Parameters (of AllergyIntolerance )
https://hl7./fhir/R4/allergyintolerance.html#search
and find "verification-status" (<< this is a search-parameter name)
if I got back and open and search for "verification-status" in allergyintolerance.xsd, there are no matches.
Aka, I don't see the search-parameters in the allergyintolerance.xsd.
...
I tried a few different FHIR resources.
Download https://github/hapifhir/hapi-fhir/blob/master/hapi-fhir-validation-resources-r4/src/main/resources//hl7/fhir/r4/model/schema/visionprescription.xsd
Find the SEARCH Parameters:
https://hl7./fhir/R4/visionprescription.html#search
Pick one, a uniquely named one like 'datewritten' (< case matters)
search the visionprescription.xsd file contents for "datewritten", and no results.
........
The question:
Is there any xsd's (or root single source of truth) that contains the SEARCH PARAMETER information of (any) FHIR-Resource ?
Share Improve this question asked Mar 14 at 19:02 granadaCodergranadaCoder 28k11 gold badges121 silver badges164 bronze badges1 Answer
Reset to default 1The StructureDefinitions define data that will flow over the wire as either XML, JSON, or TTL. We define XML schemas (and JSON schemas and ShEx schemas) that describe at least some of the validation expectations for those instances. None of those schema representations are considered "source of truth" though - they are generated, and often include significantly less information than the true source of truth.
On the other hand, search parameters do not define data structures that will be sent over the wire in any standard syntax - they'll just appear on the URL or as part of an encoded form. And there's no schema structure to define those things.
If you want the source of truth, look at the XML or JSON files for the StructureDefinitions, SearchParameters, OperationDefinitions, ValueSets, etc. You can see these in the 'definitions' links found on the downloads page (e.g. https://build.fhir./downloads.html if you want the definitions for the current build.)