You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -37,7 +37,7 @@ This architecture explains how a web application communicates with a terminology
37
37
38
38
### Prerequisite check
39
39
40
-
- In a terminal or command window, run `dotnet --version` to check that the .NET SDK is version 6.0 or later.
40
+
- In a terminal or command window, run `dotnet --version` to check that the .NET SDK is version 8.0 or later.
41
41
- Run `az --version` and `azd version` to check that you have the appropriate Azure command-line tools installed.
42
42
- Login to the Azure CLI
43
43
@@ -62,51 +62,65 @@ This sample uses an Azure APIM which acts as Common Endpoint Application for Ext
62
62
__Note:__ In this sample, The APIM uses client Id and client secret for authenticating calls to external third party terminology service. APIM will need changes in case external third party terminology service uses different kind of authentication.
63
63
64
64
## Azure APIM sample details:
65
-
Here we will go through high level steps to create an Azure APIM instance with Backend, Policies and APIs, somilar to the one used for this sample.
65
+
Here we will go through high level steps to create an Azure APIM instance with Backend, Policies and APIs, similar to the one used for this sample.
66
66
67
67
1. Create Azure APIM Instance
68
68
Create an Azure APIM instance following steps [here](https://learn.microsoft.com/en-us/azure/api-management/get-started-create-service-instance) and come back for next step.
69
69
2. Create APIs:
70
70
71
71
a. In the cloned repo, go to at location (../samples/fhir-terminology-service-integration/apim)
72
+
72
73
b. Open file "FHIR Terminology.openapi+json.json" in Editor.
73
-
c. Add your fhir service url for backend at hoghlighted place and save the file.
74
+
75
+
c. Add your fhir service url for backend at highlighted place and save the file.
74
76

77
+
78
+
75
79
d. Go to "APIs" tab, click on "Add API" and select "OpenAPI" from "Create from definition" section as highlighted below:
76
-
77
80

78
81
79
82
e. In the new popup window, click on "Select a file" and browse file "FHIR Terminology.openapi+json.json" at loaction (../samples/fhir-terminology-service-integration/apim).
80
-
81
83

82
84
83
-
f. After you select the file, fileds will be filled with values as shown below, you can change values of "Display Name" and "Name" fileds. Click on "Create".
84
-
85
+
f. After you select the file, fields will be filled with values as shown below, you can change values of "Display Name" and "Name" fields. Click on "Create".
85
86

86
87
87
88
g. As shown below, API willget created with list of operations and backend is fhir service url for all operations.
88
-
89
89

90
90
91
91
92
92
3. Create Policy Fragment:
93
+
93
94
a. In the cloned repo, go to at location (../samples/fhir-terminology-service-integration/apim)
95
+
94
96
b. Open file "PolicyFragments.xml file" in editor and update the values for highlighted fields as per your 3P teminology service requirements.
95
-

96
-
c. After you are done editing save the changes and copy all the text.
97
-
d. Go back to your APIM instance and go to "Polict Fragments" tab, click on "Create", new popup will open, Enter polict name, description and add copied text for policy and click in "Create".
97
+

98
+
99
+
c. Add below condition in PolicyFragments.
100
+

101
+
102
+
d. After you are done editing save the changes and copy all the text.
103
+
e. Go back to your APIM instance and go to "Policy Fragments" tab, click on "Create", new popup will open, Enter policy name, description and add copied text for policy and click in "Create".
98
104

99
-
d. Once policy is successfully created, you can see it in "Polict Fragments" tab.
105
+
106
+
f. Once policy is successfully created, you can see it in "Policy Fragments" tab.
100
107

101
108
102
109
4. Add Policy to API operations:
110
+
103
111
a. Go to "APIs" tab select "FHIR Terminology" select an operation to apply the policy and click on "Add Policy" in "inbound processing" section as shown below:
104
112

105
-
b. Select Other policies option as highlighted:
113
+
114
+
b. Add the UI app URL to the CORS policies in the "Inbound Processing" section as shown below:
115
+

116
+
117
+
c. Select Other policies option as highlighted:
106
118

107
-
c. In xml, Add a code fragment to include policy fragment "RedirectToterminology", as shown and click on "Save":
119
+
120
+
d. In xml, Add a code fragment to include policy fragment "RedirectToterminology", as shown and click on "Save":
108
121

109
-
d. Policy is added to API operation in inbound processing as shown:
122
+
123
+
e. Policy is added to API operation in inbound processing as shown:
110
124

111
125
112
126
Following the above steps and sample templates users can create more APIs, Operations and Policies as needed.
@@ -116,7 +130,7 @@ Following the above steps and sample templates users can create more APIs, Opera
116
130
117
131
UI application and Postman queries use common APIM endpoint for termonology service operations and FHIR service Operations.
118
132
119
-
The UI application demonstartes $lookup and $translate operations, those operations are routed to external terminology service by APIM.
133
+
The UI application demonstartes $lookup ,$translate operations and $Batch Translate operations, those operations are routed to external terminology service by APIM.
120
134
121
135
The UI Application also demonstartes operations for searching Observation resources from FHIR service and saving translated Observation resources to FHIR service, the search and save operations are routed to AHDS FHIR Service by APIM.
122
136
@@ -144,13 +158,13 @@ Following the above steps and sample templates users can create more APIs, Opera
144
158
145
159
3. First/Landing page is "Lookup and Translate". It allows user to perform lookup and translate operations on terminology service.
146
160
147
-
4. For Lookup, Enter code & select code system, Click on lookup button to get the�code details from terminology service.
161
+
4. For Lookup, Enter code & select code system, Click on lookup button to get thecode details from terminology service.
148
162
149
163
<img src="./images/image3.png" height="380">
150
164
151
165
The reponse json is shown in "Response" text area and some important details from response are also shown in table at bottom of the page for easy readability.
152
166
153
-
5. For Translate, Enter code, select source system & target system, Click on�Translate button to get the default Terminology mappings between source code and target code.
167
+
5. For Translate, Enter code, select source system & target system, Click onTranslate button to get the default Terminology mappings between source code and target code.
154
168
155
169
<img src="./images/image4.png" height="380">
156
170
@@ -186,5 +200,16 @@ Following the above steps and sample templates users can create more APIs, Opera
186
200
187
201
12. Click on the search button again to verify reset of `Observation` resource.
188
202
189
-
<imgsrc="./images/Image10.png"height="380">
203
+
<imgsrc="./images/image10.png"height="380">
204
+
205
+
13. For Batch Translate, select a code for Batch Operation from the dropdown, which contains multiple codes for translation. It's a combination of the source system, target system, and code
206
+
207
+
<imgsrc="./images/image11.png"height="380">
190
208
209
+
14. Click on Batch Operation,to get the default Terminology mappings between source code and target code in batch.
210
+
211
+
<imgsrc="./images/image12.png"height="380">
212
+
213
+
15. Select Batch_Validate value from dropdown,to to validate the code details from terminology service.
Copy file name to clipboardexpand all lines: samples/fhir-terminology-service-integration/ui-app/FhirBlaze.SharedComponents/FhirBlaze.SharedComponents.csproj
0 commit comments