Skip to content

Commit 4d624f4

Browse files
committed
markdown and editorial updates
1 parent 9a53e17 commit 4d624f4

File tree

4 files changed

+78
-76
lines changed

4 files changed

+78
-76
lines changed

articles/healthcare-apis/azure-api-for-fhir/search-samples.md

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ ms.author: kesheth
1111

1212
# FHIR search examples for Azure API for FHIR
1313

14-
[!INCLUDE [retirement banner](../includes/healthcare-apis-azure-api-fhir-retirement.md)]
14+
[!INCLUDE[retirement banner](../includes/healthcare-apis-azure-api-fhir-retirement.md)]
1515

16-
Below are some examples of using Fast Healthcare Interoperability Resources (FHIR®) search operations, including search parameters and modifiers, chain and reverse chain search, composite search, viewing the next entry set for search results, and searching with a `POST` request. For more information about search, see [Overview of FHIR Search](overview-of-search.md).
16+
The following are examples of using Fast Healthcare Interoperability Resources (FHIR®) search operations, including search parameters and modifiers, chain and reverse chain search, composite search, viewing the next entry set for search results, and searching with a `POST` request. For more information about search, see [Overview of FHIR Search](overview-of-search.md).
1717

1818
## Search result parameters
1919

2020
### _include
2121

22-
`_include` searches across resources for the ones that include the specified parameter of the resource. For example, you can search across `MedicationRequest` resources to find only the ones that include information about the prescriptions for a specific patient, which is the `reference` parameter `patient`. In the example below, this will pull all the `MedicationRequests` and all patients that are referenced from the `MedicationRequests`:
22+
`_include` searches across resources for the ones that include the specified parameter of the resource. For example, you can search across `MedicationRequest` resources to find only the ones that include information about the prescriptions for a specific patient, which is the `reference` parameter `patient`. The following example pulls all the `MedicationRequests` and all patients that are referenced from the `MedicationRequests`.
2323

2424
```rest
2525
GET [your-fhir-server]/MedicationRequest?_include=MedicationRequest:patient
@@ -39,20 +39,20 @@ GET [your-fhir-server]/Patient?_revinclude=Encounter:subject
3939
```
4040
### _elements
4141

42-
`_elements` narrows down the search result to a subset of fields to reduce the response size by omitting unnecessary data. The parameter accepts a comma-separated list of base elements:
42+
`_elements` narrows down the search result to a subset of fields to reduce the response size by omitting unnecessary data. The parameter accepts a comma-separated list of base elements.
4343

4444
```rest
4545
GET [your-fhir-server]/Patient?_elements=identifier,active
4646
4747
```
4848

49-
In this request, you'll get back a bundle of patients, but each resource will only include the identifier(s) and the patient's active status. Resources in this returned response will contain a `meta.tag` value of `SUBSETTED` to indicate that they're an incomplete set of results.
49+
From this request, you get a bundle of patients where each resource only includes the identifiers and the patient's active status. Resources in this response contain a `meta.tag` value of `SUBSETTED` to indicate that they're an incomplete set of results.
5050

5151
## Search modifiers
5252

5353
### :not
5454

55-
`:not` allows you to find resources where an attribute isn't true. For example, you could search for patients where the gender isn't female:
55+
`:not` allows you to find resources where an attribute isn't true. For example, you could search for patients where the gender isn't female.
5656

5757
```rest
5858
GET [your-fhir-server]/Patient?gender:not=female
@@ -63,7 +63,7 @@ As a return value, you would get all patient entries where the gender isn't fema
6363

6464
### :missing
6565

66-
`:missing` returns all resources that don't have a value for the specified element when the value is `true`, and returns all the resources that contain the specified element when the value is `false`. For simple data type elements, `:missing=true` will match on all resources where the element is present with extensions but has an empty value. For example, if you want to find all `Patient` resources that are missing information on birth date, you can do:
66+
`:missing` returns all resources that don't have a value for the specified element when the value is `true`, and returns all the resources that contain the specified element when the value is `false`. For simple data type elements, `:missing=true` matches on all resources where the element is present with extensions but has an empty value. The following example shows how to find all `Patient` resources that are missing information on birth date.
6767

6868
```rest
6969
GET [your-fhir-server]/Patient?birthdate:missing=true
@@ -81,14 +81,14 @@ GET [your-fhir-server]/Patient?name:exact=Jon
8181
This request returns `Patient` resources that have the name exactly the same as `Jon`. If the resource had Patients with names such as `Jonathan` or `joN`, the search would ignore and skip the resource as it doesn't exactly match the specified value.
8282

8383
### :contains
84-
`:contains` is used for `string` parameters and searches for resources with partial matches of the specified value anywhere in the string within the field being searched. `contains` is case insensitive and allows character concatenating. For example:
84+
`:contains` is used for `string` parameters and searches for resources with partial matches of the specified value anywhere in the string within the field being searched. `contains` isn't case sensitive and allows character concatenating. For example:
8585

8686
```rest
8787
GET [your-fhir-server]/Patient?address:contains=Meadow
8888
8989
```
9090

91-
This request would return you all `Patient` resources with `address` fields that have values that contain the string "Meadow". This means you could have addresses that include values such as "Meadowers" or "59 Meadow ST" returned as search results.
91+
This request would return all `Patient` resources with `address` fields that have values that contain the string "Meadow". This means you could have addresses that include values such as "Meadowers" or "59 Meadow ST" returned as search results.
9292

9393
## Chained search
9494

@@ -101,21 +101,21 @@ To perform a series of search operations that cover multiple reference parameter
101101

102102
This request would return all the `DiagnosticReport` resources with a patient subject named "Sarah". The period `.` after the field `Patient` performs the chained search on the reference parameter of the `subject` parameter.
103103

104-
Another common use of a regular search (not a chained search) is finding all encounters for a specific patient. `Patient`s will often have one or more `Encounter`s with a subject. To search for all `Encounter` resources for a `Patient` with the provided `id`:
104+
Another common use of a regular search (not a chained search) is finding all encounters for a specific patient. `Patient`s often have one or more `Encounter`s with a subject. The following searches for all `Encounter` resources for a `Patient` with the provided `id`.
105105

106106
```rest
107107
GET [your-fhir-server]/Encounter?subject=Patient/78a14cbe-8968-49fd-a231-d43e6619399f
108108
109109
```
110110

111-
Using chained search, you can find all the `Encounter` resources that match a particular piece of `Patient` information, such as the `birthdate`:
111+
Using chained search, you can find all the `Encounter` resources that match a particular piece of `Patient` information, such as the `birthdate`.
112112

113113
```rest
114114
GET [your-fhir-server]/Encounter?subject:Patient.birthdate=1987-02-20
115115
116116
```
117117

118-
This would allow not just searching `Encounter` resources for a single patient, but across all patients that have the specified birth date value.
118+
This would allow searching `Encounter` resources across all patients that have the specified birth date value.
119119

120120
In addition, chained search can be done more than once in one request by using the symbol `&`, which allows you to search for multiple conditions in one request. In such cases, chained search "independently" searches for each parameter, instead of searching for conditions that only satisfy all the conditions at once:
121121

@@ -124,22 +124,22 @@ GET [your-fhir-server]/Patient?general-practitioner:Practitioner.name=Sarah&gene
124124
125125
```
126126

127-
This would return all `Patient` resources that have "Sarah" as the `generalPractitioner` and have a `generalPractitioner` that has the address with the state WA. In other words, if a patient had Sarah from the state NY and Bill from the state WA both referenced as the patient's `generalPractitioner`, the would be returned.
127+
This would return all `Patient` resources that have "Sarah" as the `generalPractitioner` and have a `generalPractitioner` that has the address with the state WA. In other words, if a patient had Sarah from the state NY and Bill from the state WA both referenced as the patient's `generalPractitioner`, both are returned.
128128

129-
For scenarios in which the search has to be an `AND` operation that covers all conditions as a group, refer to the **composite search** example below.
129+
For scenarios in which the search has to be an `AND` operation that covers all conditions as a group, refer to the example in [**Composite search**](#composite-search).
130130

131131
## Reverse chain search
132132

133-
Chain search lets you search for resources based on the properties of resources they refer to. Using reverse chain search, allows you do it the other way around. You can search for resources based on the properties of resources that refer to them, using `_has` parameter. For example, `Observation` resource has a search parameter `patient` referring to a Patient resource. To find all Patient resources that are referenced by `Observation` with a specific `code`:
133+
Chain search lets you search for resources based on the properties of resources they refer to. Using reverse chain search allows you to do it the other way around. You can search for resources based on the properties of resources that refer to them, using `_has` parameter. For example, an `Observation` resource has a search parameter `patient` referring to a Patient resource. Use the following to find all Patient resources referenced by `Observation` with a specific `code`.
134134

135135
```rest
136136
GET [base]/Patient?_has:Observation:patient:code=527
137137
138138
```
139139

140-
This request returns Patient resources that are referred by `Observation` with the code `527`.
140+
This request returns Patient resources referred by `Observation` with the code `527`.
141141

142-
In addition, reverse chain search can have a recursive structure. For example, if you want to search for all patients that have `Observation` where the observation has an audit event from a specific user `janedoe`, you could do:
142+
In addition, reverse chain search can have a recursive structure. For example, the following searches for all patients that have `Observation` where the observation has an audit event from a specific user `janedoe`.
143143

144144
```rest
145145
GET [base]/Patient?_has:Observation:patient:_has:AuditEvent:entity:agent:Practitioner.name=janedoe
@@ -151,7 +151,7 @@ GET [base]/Patient?_has:Observation:patient:_has:AuditEvent:entity:agent:Practit
151151
152152
## Composite search
153153

154-
To search for resources that meet multiple conditions at once, use composite search that joins a sequence of single parameter values with a symbol `$`. The returned result would be the intersection of the resources that match all of the conditions specified by the joined search parameters. Such search parameters are called composite search parameters, and they define a new parameter that combines the multiple parameters in a nested structure. For example, if you want to find all `DiagnosticReport` resources that contain `Observation` with a potassium value less than or equal to 9.2:
154+
To search for resources that meet multiple conditions at once, use a composite search that joins a sequence of single parameter values with a symbol `$`. The result would be the intersection of the resources that match all of the conditions specified by the joined search parameters. Such search parameters are called composite search parameters, and they define a new parameter that combines the multiple parameters in a nested structure. For example, the following search finds all `DiagnosticReport` resources that contain `Observation` with a potassium value less than or equal to 9.2.
155155

156156
```rest
157157
GET [your-fhir-server]/DiagnosticReport?result.code-value-quantity=2823-3$lt9.2
@@ -162,7 +162,8 @@ This request specifies the component containing a code of `2823-3`, which in thi
162162

163163
## Search the next entry set
164164

165-
The maximum number of entries that can be returned per a single search query is 1000. However, you might have more than 1000 entries that match the search query, and you might want to see the next set of entries after the first 1000 entries that were returned. In such case, you would use the continuation token `url` value in `searchset` as in the `Bundle` result below:
165+
The maximum number of entries that can be returned per a single search query is 1000. If more than 1,000 entries that match the search query, you can use the following procedure to see entries greater than 1000.<br>
166+
Use the continuation token `url` value in `searchset`, as in the following `Bundle` result.
166167

167168
```json
168169
"resourceType": "Bundle",
@@ -184,27 +185,27 @@ The maximum number of entries that can be returned per a single search query is
184185

185186
```
186187

187-
And you would do a GET request for the provided URL under the field `relation: next`:
188+
Then do a GET request for the provided URL under the field `relation: next`.
188189

189190
```rest
190191
GET [your-fhir-server]/Patient?_sort=_lastUpdated&ct=WzUxMDAxNzc1NzgzODc5MjAwODBd
191192
192193
```
193194

194-
This will return the next set of entries for your search result. The `searchset` is the complete set of search result entries, and the continuation token `url` is the link provided by the server for you to retrieve the entries that don't show up on the first set because the restriction on the maximum number of entries returned for a search query.
195+
This returns the next set of entries for your search result. The `searchset` is the complete set of search result entries, and the continuation token `url` is the link provided by the server for you to retrieve entries that don't show up in the first 1000.
195196

196197
## Search using POST
197198

198-
All of the search examples mentioned above have used `GET` requests. You can also do search operations using `POST` requests using `_search`:
199+
All of the search examples previously mentioned used `GET` requests. You can also do search operations using `POST` requests using `_search`.
199200

200201
```rest
201202
POST [your-fhir-server]/Patient/_search?_id=45
202203
203204
```
204205

205-
This request would return all `Patient` resources with the `id` value of 45. Just as in GET requests, the server determines which of the set of resources meets the condition(s), and returns a bundle resource in the HTTP response.
206+
This request returns `Patient` resources with the `id` value of 45. As with GET requests, the server determines which of the set of resources meets the condition, and returns a bundle resource in the HTTP response.
206207

207-
Another example of searching using POST where the query parameters are submitted as a form body is:
208+
Another example of searching using POST where the query parameters are submitted as a form body is as follows.
208209

209210
```rest
210211
POST [your-fhir-server]/Patient/_search
@@ -220,4 +221,4 @@ In this article, you learned about how to search using different search paramete
220221
>[!div class="nextstepaction"]
221222
>[Overview of FHIR Search](overview-of-search.md)
222223
223-
FHIR&#174; is a registered trademark of [HL7](https://hl7.org/fhir/) and is used with the permission of HL7.
224+
[!INCLUDE[FHIR trademark statement](../includes/healthcare-apis-fhir-trademark.md)]

articles/healthcare-apis/azure-api-for-fhir/security-controls-policy.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ ms.custom: subject-policy-compliancecontrols
1111
---
1212
# Azure Policy Regulatory Compliance controls for Azure API for FHIR
1313

14-
[!INCLUDE [retirement banner](../includes/healthcare-apis-azure-api-fhir-retirement.md)]
14+
[!INCLUDE[retirement banner](../includes/healthcare-apis-azure-api-fhir-retirement.md)]
1515

1616
[Regulatory Compliance in Azure Policy](../../governance/policy/concepts/regulatory-compliance.md)
1717
provides Microsoft created and managed initiative definitions, known as _built-ins_, for the
1818
**compliance domains** and **security controls** related to different compliance standards. This
19-
page lists the **compliance domains** and **security controls** for Azure API for FHIR. You can
19+
page lists the **compliance domains** and **security controls** for Azure API for FHIR&reg;. You can
2020
assign the built-ins for a **security control** individually to help make your Azure resources
2121
compliant with the specific standard.
2222

@@ -31,5 +31,4 @@ In this article, you learned about the Azure Policy Regulatory Compliance contro
3131
- Learn more about [Azure Policy Regulatory Compliance](../../governance/policy/concepts/regulatory-compliance.md).
3232
- See the built-ins on the [Azure Policy GitHub repo](https://github.com/Azure/azure-policy).
3333

34-
FHIR&#174; is a registered trademark of [HL7](https://hl7.org/fhir/) and is used with the permission of HL7.
35-
34+
[!INCLUDE[FHIR trademark statement](../includes/healthcare-apis-fhir-trademark.md)]

0 commit comments

Comments
 (0)