跳轉到

自行新增搜尋參數

與搜尋參數相關的程式碼位於models\FHIR\queryBuild.js 以及 models\FHIR\searchParameterQueryHandler.js 檔案。

  • queryBuild.js: 根據不同的 Data Type 組成單個MongoDB 查詢語法。
  • searchParameterQueryHandler.js: 根據 HTTP 網址中的查詢條件使用 queryBuild.js 取得完整的 MongoDB 查詢語法。

由產生器產生之部分搜尋參數可能是錯誤的或遺失。您可以使用 models\FHIR\searchParameterQueryHandler.js 內的方法修正。

範例: Bundle.composition

在一些使用案例,您也許會想使用 bundle 的 entry.resource.subject.reference 搜尋 patient/{id}

  • The example URL:
    http://localhost:8080/fhir/Bundle?composition.patient=Patient/123
    
    如果您想支援此項搜尋參數,您可以在 api/FHIR/Bundle/BundleParametersHandler.js 檔案新增以下程式碼
    //#region composition.patient
    // search parameter name: "composition.patient"
    // field in resource: "entry.resource.subject.reference"
    // type: reference
    paramsSearchFields["composition.patient"]= ["entry.resource.subject.reference"];
    paramsSearch["composition.patient"] = (query) => {
        try {
            queryHandler.getReferenceQuery(query, paramsSearchFields, "composition.patient");
        } catch (e) {
            console.error(e);
            throw e;
        }
    };
    //#endregion