From d6497c47c8d1c728f6a89e6520a43e4b43954ac0 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 18 Nov 2023 15:37:27 +1100 Subject: [PATCH] fix comple and improve log message --- library/fhir4/fhir4_ips.pas | 4 +- library/fhir4/fhir4_utilities.pas | 24 +- server/database.pas | 2 +- server/endpoint_packages.pas | 4 +- server/endpoint_storage.pas | 4 +- server/endpoint_xig.pas | 2 +- server/fhirserver.lpi | 5 +- server/operations.pas | 2 +- server/operations_r2.pas | 2 +- server/operations_r3.pas | 40 +-- server/operations_r4.pas | 44 +-- server/operations_r4b.pas | 44 +-- server/operations_r5.pas | 44 +-- server/package_spider.pas | 2 +- server/scim_server.pas | 2 +- server/tx/tx_rxnorm.pas | 4 +- server/tx_manager.pas | 6 +- server/tx_operations.pas | 2 +- server/validator_r2.pas | 2 +- server/validator_r3.pas | 2 +- server/validator_r4.pas | 2 +- server/validator_r4b.pas | 2 +- server/validator_r5.pas | 2 +- server/web/assets/css/jquery-ui.css | 523 ++++++++++++++++++++++++++++ server/web_server.pas | 4 +- 25 files changed, 660 insertions(+), 114 deletions(-) create mode 100644 server/web/assets/css/jquery-ui.css diff --git a/library/fhir4/fhir4_ips.pas b/library/fhir4/fhir4_ips.pas index 2ecccecdb..b0285778b 100644 --- a/library/fhir4/fhir4_ips.pas +++ b/library/fhir4/fhir4_ips.pas @@ -235,7 +235,7 @@ function TIPSGenerator.makePatient: TFhirPatient; x : TFhirXHtmlNode; ext : TFHIRExtension; l : TFhirPatientCommunication; - sg, cg, dg, tg, sp, cdp, dp, tp, sv, cdv, dv, tv : String; + s, sg, cg, dg, tg, sp, cdp, dp, tp, sv, cdv, dv, tv : String; begin if (params.has('gender')) then begin @@ -488,7 +488,7 @@ function TIPSGenerator.makePatient: TFhirPatient; l.language.text := params['language']; l.preferred := true; if ((s = 'en') or (s = 'english')) then - if (params.has('english') then + if (params.has('english')) then begin l := result.communicationList.Append; l.language := TFHIRCodeableConcept.create; diff --git a/library/fhir4/fhir4_utilities.pas b/library/fhir4/fhir4_utilities.pas index f25c2c33d..1ad51fb58 100644 --- a/library/fhir4/fhir4_utilities.pas +++ b/library/fhir4/fhir4_utilities.pas @@ -4107,16 +4107,29 @@ function TFhirValueSetHelper.context: string; result := result + gen(useContextList[i]); end; +function tail(url : String) : String; +begin + if url.contains('/') then + result := url.subString(url.lastIndexOf('/')+1) + else if url.contains(':') then + result := url.subString(url.lastIndexOf(':')+1) + else + result := url; +end; + function TFhirValueSetHelper.source: string; var ts : TStringList; + vs : TFhirCanonical; comp : TFhirValueSetComposeInclude; begin ts := TStringList.Create; try ts.sorted := true; + ts.duplicates := dupIgnore; if (compose <> nil) then + begin for comp in compose.includeList do begin if comp.system <> '' then @@ -4125,9 +4138,16 @@ function TFhirValueSetHelper.source: string; begin ts.add(csName(comp.system)); end; - end; + end + else + for vs in comp.valueSetList do + ts.add('vs:'+tail(vs.value)); end; - result := ts.commaText; + end; + if (ts.count = 0) then + result := 'unknown source' + else + result := ts.commaText; finally ts.free; end; diff --git a/server/database.pas b/server/database.pas index 592e4c692..79d300f1f 100644 --- a/server/database.pas +++ b/server/database.pas @@ -3363,7 +3363,7 @@ function TFHIRNativeOperationEngine.scanId(request : TFHIRRequest; entry : TFHIR else if entry.requestUrl <> '' then id.Name := fullResourceUri(request.baseUrl, entry.requestUrl) else - id.Name := '??'; + id.Name := '??id'; id.outcomeVersion := 1; // figure out what kind of operation is involved here diff --git a/server/endpoint_packages.pas b/server/endpoint_packages.pas index 341bcf8da..dadcdf86c 100644 --- a/server/endpoint_packages.pas +++ b/server/endpoint_packages.pas @@ -661,7 +661,7 @@ function TFHIRPackageWebServer.interpretVersion(v: String): String; else if (v.StartsWith('1')) then result := 'R3' else - result := '??' + result := '??V' end; var ts : TStringList; @@ -815,7 +815,7 @@ function codeForKind(kind : integer): String; fpkGroup : result := 'Group'; fpkExamples : result := 'Examples'; else - result := '?? ('+inttostr(kind)+')'; + result := '??kind ('+inttostr(kind)+')'; end; end; diff --git a/server/endpoint_storage.pas b/server/endpoint_storage.pas index 1e5b9f5d6..97fdea052 100644 --- a/server/endpoint_storage.pas +++ b/server/endpoint_storage.pas @@ -1199,7 +1199,7 @@ function TStorageWebEndpoint.HandleRequest(AContext: TIdContext; request: TIdHTT Begin // tt.track('req'); start := GetTickCount64; - result := '??'; + result := '??eps'; noErrCode := false; mode := opmRestful; cache := false; @@ -2465,7 +2465,7 @@ function TStorageWebEndpoint.getReferencesByType(t: String): String; // else if entry.resource is TFhirOrganization then // b.Append(TFhirOrganization(entry.resource).name) // else - b.Append('??'); + b.Append('??hn'); b.Append(' ('); b.Append(entry.resource.fhirType); b.Append('/'); diff --git a/server/endpoint_xig.pas b/server/endpoint_xig.pas index 8960c83a5..82628db2f 100644 --- a/server/endpoint_xig.pas +++ b/server/endpoint_xig.pas @@ -640,7 +640,7 @@ procedure TXIGServerEndPoint.downloadAndReload; function TXIGServerEndPoint.dateBuilt: String; begin if (FXIGServer = nil) or (FXIGServer.FContext = nil) then - result := '???' + result := '???xig' else result := FXIGServer.FContext.FDate; end; diff --git a/server/fhirserver.lpi b/server/fhirserver.lpi index 86217ab84..439265082 100644 --- a/server/fhirserver.lpi +++ b/server/fhirserver.lpi @@ -810,7 +810,7 @@ - + @@ -978,6 +978,9 @@ + + + diff --git a/server/operations.pas b/server/operations.pas index ae97e3636..691fa62c2 100644 --- a/server/operations.pas +++ b/server/operations.pas @@ -65,7 +65,7 @@ function TFhirVersionsOperation.Execute(context: TOperationContext; manager: TFH var p : TFhirParametersW; begin - result := '??'; + result := '??op'; try p := FFactory.makeParameters; try diff --git a/server/operations_r2.pas b/server/operations_r2.pas index 6af76751d..f1c134a1c 100644 --- a/server/operations_r2.pas +++ b/server/operations_r2.pas @@ -772,7 +772,7 @@ function TFhirGenerateQAOperation.CreateDefinition(base : String): TFHIROperatio function TFhirGenerateQAOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qa'; end; { TFhirJWTOperation } diff --git a/server/operations_r3.pas b/server/operations_r3.pas index d8d95e153..21d7def9b 100644 --- a/server/operations_r3.pas +++ b/server/operations_r3.pas @@ -840,7 +840,7 @@ function TFhirGenerateQAOperation.CreateDefinition(base : String): TFHIROperatio function TFhirGenerateQAOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qa'; end; { TFhirJWTOperation } @@ -881,7 +881,7 @@ function TFhirGenerateJWTOperation.Execute(context : TOperationContext; manager: pIn : TFhirParameters; pOut : TFhirParameters; begin - result := '??'; + result := '??jwt'; try pIn := makeParamsV(request); try @@ -966,7 +966,7 @@ function TFhirGenerateCodeOperation.Execute(context : TOperationContext; manager oo : TFHIROperationOutcome; issue : TFhirOperationOutcomeIssue; begin - result := '??'; + result := '??gen'; try manager.NotFound(request, response); if native(manager).check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1048,7 +1048,7 @@ function TFhirHandleQAPostOperation.CreateDefinition(base : String): TFHIROperat function TFhirHandleQAPostOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qap'; end; function TFhirHandleQAPostOperation.isWrite: boolean; @@ -1090,7 +1090,7 @@ function TFhirQuestionnaireGenerationOperation.Execute(context : TOperationConte needSecure : boolean; ctxt : TFHIRValidatorContext; begin - result := '??'; + result := '??qgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1251,7 +1251,7 @@ function TFhirValidationOperation.Execute(context : TOperationContext; manager: result := request.Parameters[name]; end; begin - result := '??'; + result := '??val'; profileId := ''; profile := nil; try @@ -1361,7 +1361,7 @@ function TFhirEverythingOperation.Execute(context : TOperationContext; manager: conn : TFDBConnection; patIds : TPatientIdTracker; begin - result := '??'; + result := '??pe'; patIds := TPatientIdTracker.Create; try try @@ -1489,7 +1489,7 @@ function TFhirProcessClaimOperation.Execute(context : TOperationContext; manager resp : TFhirClaimResponse; needSecure : boolean; begin - result := '??'; + result := '??claim'; claim := nil; try manager.NotFound(request, response); @@ -1586,7 +1586,7 @@ function TFhirGenerateSnapshotOperation.Execute(context : TOperationContext; man utils : TProfileUtilities; op : TFHIROperationOutcome; begin - result := '??'; + result := '??sgen'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1702,7 +1702,7 @@ function TFhirGenerateTemplateOperation.Execute(context : TOperationContext; man narr : TFHIRNarrativeGenerator; needSecure : boolean; begin - result := '??'; + result := '??tgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1800,7 +1800,7 @@ function TFhirGenerateNarrativeOperation.Execute(context : TOperationContext; ma narr : TFHIRNarrativeGenerator; r : TFHIRResourceV; begin - result := '??'; + result := '??ngen'; try r := request.Resource; if (r = nil) then @@ -1862,7 +1862,7 @@ function TFhirSuggestKeyWordsOperation.CreateDefinition(base: String): TFHIROper function TFhirSuggestKeyWordsOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??key'; raise EFHIRException.CreateLang('NOT_DONE_YET', request.langList); end; @@ -1901,7 +1901,7 @@ function TFhirGetMetaDataOperation.Execute(context : TOperationContext; manager: uri : TFhirUri; params : TFhirParameters; begin - result := '??'; + result := '??mget'; try ok := true; if request.ResourceName = '' then @@ -2050,7 +2050,7 @@ function TFhirAddMetaDataOperation.Execute(context : TOperationContext; manager: mw : TFHIRMetaW; p : TFHIRResource; begin - result := '??'; + result := '??madd'; meta := nil; try @@ -2217,7 +2217,7 @@ function TFhirDeleteMetaDataOperation.Execute(context : TOperationContext; manag mw : TFHIRMetaW; p : TFhirResource; begin - result := '??'; + result := '??mdel'; meta := nil; try ok := true; @@ -2387,7 +2387,7 @@ function TFhirDiffOperation.Execute(context : TOperationContext; manager: TFHIRO // meta : TFHIRMetaW; // c : TFhirCoding; begin - result := '??'; + result := '??diff'; try ok := true; if not manager.check(response, request.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, fcmdRead), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -2468,7 +2468,7 @@ function TFhirConvertOperation.CreateDefinition(base: String): TFHIROperationDef function TFhirConvertOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??cnv'; try response.Resource := request.Resource.link; response.HTTPCode := 200; @@ -2552,7 +2552,7 @@ function TFhirObservationStatsOperation.Execute(context : TOperationContext; man list : TFslList; res : TFHIRResourceV; begin - result := '??'; + result := '??obs'; try manager.NotFound(request, response); req := TFHIRStatsOpRequest.Create(); @@ -2670,7 +2670,7 @@ function TFhirObservationLastNOperation.Execute(context : TOperationContext; man prsrFmt : TFhirFormat; patIds : TPatientIdTracker; begin - result := '??'; + result := '??lastn'; patIds := TPatientIdTracker.Create; try conn := native(manager).Connection; @@ -3066,7 +3066,7 @@ function TFhirGenerateDocumentOperation.Execute(context : TOperationContext; man needSecure : boolean; patIds : TPatientIdTracker; begin - result := '??'; + result := '??dgen'; patIds := TPatientIdTracker.Create; try try diff --git a/server/operations_r4.pas b/server/operations_r4.pas index f11772839..468af6e4b 100644 --- a/server/operations_r4.pas +++ b/server/operations_r4.pas @@ -910,7 +910,7 @@ function TFhirGenerateQAOperation.CreateDefinition(base : String): TFHIROperatio function TFhirGenerateQAOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qagen'; end; { TFhirJWTOperation } @@ -951,7 +951,7 @@ function TFhirGenerateJWTOperation.Execute(context : TOperationContext; manager: pIn : TFhirParameters; pOut : TFhirParameters; begin - result := '??'; + result := '??jwt'; try pIn := makeParamsV(request); try @@ -1036,7 +1036,7 @@ function TFhirGenerateCodeOperation.Execute(context : TOperationContext; manager oo : TFHIROperationOutcome; issue : TFhirOperationOutcomeIssue; begin - result := '??'; + result := '??cgen'; try manager.NotFound(request, response); if native(manager).check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1118,7 +1118,7 @@ function TFhirHandleQAPostOperation.CreateDefinition(base : String): TFHIROperat function TFhirHandleQAPostOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qap'; end; function TFhirHandleQAPostOperation.isWrite: boolean; @@ -1160,7 +1160,7 @@ function TFhirQuestionnaireGenerationOperation.Execute(context : TOperationConte needSecure : boolean; ctxt : TFHIRValidatorContext; begin - result := '??'; + result := '??qgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1321,7 +1321,7 @@ function TFhirValidationOperation.Execute(context : TOperationContext; manager: result := request.Parameters[name]; end; begin - result := '??'; + result := '??val'; profileId := ''; profile := nil; try @@ -1431,7 +1431,7 @@ function TFhirEverythingOperation.Execute(context : TOperationContext; manager: conn : TFDBConnection; patIds : TPatientIdTracker; begin - result := '??'; + result := '??pe'; patIds := TPatientIdTracker.Create; try try @@ -1559,7 +1559,7 @@ function TFhirProcessClaimOperation.Execute(context : TOperationContext; manager resp : TFhirClaimResponse; needSecure : boolean; begin - result := '??'; + result := '??claim'; claim := nil; try manager.NotFound(request, response); @@ -1656,7 +1656,7 @@ function TFhirGenerateSnapshotOperation.Execute(context : TOperationContext; man utils : TProfileUtilities; op : TFHIROperationOutcome; begin - result := '??'; + result := '??sgen'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.LangList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1773,7 +1773,7 @@ function TFhirGenerateTemplateOperation.Execute(context : TOperationContext; man narr : TFHIRNarrativeGenerator; needSecure : boolean; begin - result := '??'; + result := '??tgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.LangList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1871,7 +1871,7 @@ function TFhirGenerateNarrativeOperation.Execute(context : TOperationContext; ma narr : TFHIRNarrativeGenerator; r : TFHIRResourceV; begin - result := '??'; + result := '??ngen'; try r := request.Resource; if (r = nil) then @@ -1933,7 +1933,7 @@ function TFhirSuggestKeyWordsOperation.CreateDefinition(base: String): TFHIROper function TFhirSuggestKeyWordsOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??key'; raise EFHIRException.CreateLang('NOT_DONE_YET', request.langList); end; @@ -1973,7 +1973,7 @@ function TFhirGetMetaDataOperation.Execute(context : TOperationContext; manager: params : TFhirParameters; conn : TFDBConnection; begin - result := '??'; + result := '??mget'; conn := native(manager).Connection; try ok := true; @@ -2120,7 +2120,7 @@ function TFhirAddMetaDataOperation.Execute(context : TOperationContext; manager: mw : TFHIRMetaW; p : TFHIRResource; begin - result := '??'; + result := '??madd'; meta := nil; try @@ -2287,7 +2287,7 @@ function TFhirDeleteMetaDataOperation.Execute(context : TOperationContext; manag mw : TFHIRMetaW; p : TFhirResource; begin - result := '??'; + result := '??mdel'; meta := nil; try ok := true; @@ -2457,7 +2457,7 @@ function TFhirDiffOperation.Execute(context : TOperationContext; manager: TFHIRO // meta : TFHIRMetaW; // c : TFhirCoding; begin - result := '??'; + result := '??diff'; try ok := true; if not manager.check(response, request.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, fcmdRead), 400, request.LangList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -2538,7 +2538,7 @@ function TFhirConvertOperation.CreateDefinition(base: String): TFHIROperationDef function TFhirConvertOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??cnv'; try response.Resource := request.Resource.link; response.HTTPCode := 200; @@ -2622,7 +2622,7 @@ function TFhirObservationStatsOperation.Execute(context : TOperationContext; man list : TFslList; res : TFHIRResourceV; begin - result := '??'; + result := '??obs'; try manager.NotFound(request, response); req := TFHIRStatsOpRequest.Create(); @@ -2740,7 +2740,7 @@ function TFhirObservationLastNOperation.Execute(context : TOperationContext; man prsrFmt : TFhirFormat; patIds : TPatientIdTracker; begin - result := '??'; + result := '??lastn'; patIds := TPatientIdTracker.Create; try conn := native(manager).Connection; @@ -3010,7 +3010,7 @@ function TFhirGraphFetchOperation.Execute(context : TOperationContext; manager: engine : TFHIRGraphDefinitionEngine4; p : TFHIRGraphDefinitionParser4; begin - result := '??'; + result := '??graph'; try manager.NotFound(request, response); if (request.Id <> '') and manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.LangList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -3253,7 +3253,7 @@ function TFhirGenerateDocumentOperation.Execute(context : TOperationContext; man p : TFHIRGraphDefinitionParser4; patIds : TPatientIdTracker; begin - result := '??'; + result := '??dgen'; patIds := TPatientIdTracker.Create; try try @@ -3418,7 +3418,7 @@ function TFhirTransformOperation.Execute(context : TOperationContext; manager: T // utils : TProfileUtilities; // op : TFHIROperationOutcomeW; begin - result := '??'; + result := '??trns'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then diff --git a/server/operations_r4b.pas b/server/operations_r4b.pas index c3d9a3010..3e68d16aa 100644 --- a/server/operations_r4b.pas +++ b/server/operations_r4b.pas @@ -910,7 +910,7 @@ function TFhirGenerateQAOperation.CreateDefinition(base : String): TFHIROperatio function TFhirGenerateQAOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qagen'; end; { TFhirJWTOperation } @@ -951,7 +951,7 @@ function TFhirGenerateJWTOperation.Execute(context : TOperationContext; manager: pIn : TFhirParameters; pOut : TFhirParameters; begin - result := '??'; + result := '??jwt'; try pIn := makeParamsV(request); try @@ -1036,7 +1036,7 @@ function TFhirGenerateCodeOperation.Execute(context : TOperationContext; manager oo : TFHIROperationOutcome; issue : TFhirOperationOutcomeIssue; begin - result := '??'; + result := '??cgen'; try manager.NotFound(request, response); if native(manager).check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1118,7 +1118,7 @@ function TFhirHandleQAPostOperation.CreateDefinition(base : String): TFHIROperat function TFhirHandleQAPostOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qap'; end; function TFhirHandleQAPostOperation.isWrite: boolean; @@ -1160,7 +1160,7 @@ function TFhirQuestionnaireGenerationOperation.Execute(context : TOperationConte needSecure : boolean; ctxt : TFHIRValidatorContext; begin - result := '??'; + result := '??qgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1321,7 +1321,7 @@ function TFhirValidationOperation.Execute(context : TOperationContext; manager: result := request.Parameters[name]; end; begin - result := '??'; + result := '??val'; profileId := ''; profile := nil; try @@ -1431,7 +1431,7 @@ function TFhirEverythingOperation.Execute(context : TOperationContext; manager: conn : TFDBConnection; patIds : TPatientIdTracker; begin - result := '??'; + result := '??pe'; patIds := TPatientIdTracker.Create; try try @@ -1559,7 +1559,7 @@ function TFhirProcessClaimOperation.Execute(context : TOperationContext; manager resp : TFhirClaimResponse; needSecure : boolean; begin - result := '??'; + result := '??claim'; claim := nil; try manager.NotFound(request, response); @@ -1656,7 +1656,7 @@ function TFhirGenerateSnapshotOperation.Execute(context : TOperationContext; man utils : TProfileUtilities; op : TFHIROperationOutcome; begin - result := '??'; + result := '??sgen'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1773,7 +1773,7 @@ function TFhirGenerateTemplateOperation.Execute(context : TOperationContext; man narr : TFHIRNarrativeGenerator; needSecure : boolean; begin - result := '??'; + result := '??tgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1871,7 +1871,7 @@ function TFhirGenerateNarrativeOperation.Execute(context : TOperationContext; ma narr : TFHIRNarrativeGenerator; r : TFHIRResourceV; begin - result := '??'; + result := '??ngen'; try r := request.Resource; if (r = nil) then @@ -1933,7 +1933,7 @@ function TFhirSuggestKeyWordsOperation.CreateDefinition(base: String): TFHIROper function TFhirSuggestKeyWordsOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??key'; raise EFHIRException.CreateLang('NOT_DONE_YET', request.langList); end; @@ -1973,7 +1973,7 @@ function TFhirGetMetaDataOperation.Execute(context : TOperationContext; manager: params : TFhirParameters; conn : TFDBConnection; begin - result := '??'; + result := '??mget'; conn := native(manager).Connection; try ok := true; @@ -2120,7 +2120,7 @@ function TFhirAddMetaDataOperation.Execute(context : TOperationContext; manager: mw : TFHIRMetaW; p : TFHIRResource; begin - result := '??'; + result := '??madd'; meta := nil; try @@ -2287,7 +2287,7 @@ function TFhirDeleteMetaDataOperation.Execute(context : TOperationContext; manag mw : TFHIRMetaW; p : TFhirResource; begin - result := '??'; + result := '??mdel'; meta := nil; try ok := true; @@ -2457,7 +2457,7 @@ function TFhirDiffOperation.Execute(context : TOperationContext; manager: TFHIRO // meta : TFHIRMetaW; // c : TFhirCoding; begin - result := '??'; + result := '??diff'; try ok := true; if not manager.check(response, request.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, fcmdRead), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -2538,7 +2538,7 @@ function TFhirConvertOperation.CreateDefinition(base: String): TFHIROperationDef function TFhirConvertOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??cnv'; try response.Resource := request.Resource.link; response.HTTPCode := 200; @@ -2622,7 +2622,7 @@ function TFhirObservationStatsOperation.Execute(context : TOperationContext; man list : TFslList; res : TFHIRResourceV; begin - result := '??'; + result := '??obs'; try manager.NotFound(request, response); req := TFHIRStatsOpRequest.Create(); @@ -2740,7 +2740,7 @@ function TFhirObservationLastNOperation.Execute(context : TOperationContext; man prsrFmt : TFhirFormat; patIds : TPatientIdTracker; begin - result := '??'; + result := '??lastn'; patIds := TPatientIdTracker.Create; try conn := native(manager).Connection; @@ -3010,7 +3010,7 @@ function TFhirGraphFetchOperation.Execute(context : TOperationContext; manager: engine : TFHIRGraphDefinitionEngine4B; p : TFHIRGraphDefinitionParser4B; begin - result := '??'; + result := '??graph'; try manager.NotFound(request, response); if (request.Id <> '') and manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -3253,7 +3253,7 @@ function TFhirGenerateDocumentOperation.Execute(context : TOperationContext; man p : TFHIRGraphDefinitionParser4B; patIds : TPatientIdTracker; begin - result := '??'; + result := '??dgen'; patIds := TPatientIdTracker.Create; try try @@ -3418,7 +3418,7 @@ function TFhirTransformOperation.Execute(context : TOperationContext; manager: T // utils : TProfileUtilities; // op : TFHIROperationOutcomeW; begin - result := '??'; + result := '??trns'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then diff --git a/server/operations_r5.pas b/server/operations_r5.pas index 59fa3d13f..f3f6b4f4a 100644 --- a/server/operations_r5.pas +++ b/server/operations_r5.pas @@ -875,7 +875,7 @@ function TFhirGenerateQAOperation.CreateDefinition(base : String): TFHIROperatio function TFhirGenerateQAOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qagen'; end; { TFhirJWTOperation } @@ -916,7 +916,7 @@ function TFhirGenerateJWTOperation.Execute(context : TOperationContext; manager: pIn : TFhirParameters; pOut : TFhirParameters; begin - result := '??'; + result := '??jwt'; try pIn := makeParamsV(request); try @@ -1001,7 +1001,7 @@ function TFhirGenerateCodeOperation.Execute(context : TOperationContext; manager oo : TFHIROperationOutcome; issue : TFhirOperationOutcomeIssue; begin - result := '??'; + result := '??cgen'; try manager.NotFound(request, response); if native(manager).check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1083,7 +1083,7 @@ function TFhirHandleQAPostOperation.CreateDefinition(base : String): TFHIROperat function TFhirHandleQAPostOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??qap'; end; function TFhirHandleQAPostOperation.isWrite: boolean; @@ -1125,7 +1125,7 @@ function TFhirQuestionnaireGenerationOperation.Execute(context : TOperationConte needSecure : boolean; ctxt : TFHIRValidatorContext; begin - result := '??'; + result := '??qgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1286,7 +1286,7 @@ function TFhirValidationOperation.Execute(context : TOperationContext; manager: result := request.Parameters[name]; end; begin - result := '??'; + result := '??val'; profileId := ''; profile := nil; try @@ -1396,7 +1396,7 @@ function TFhirEverythingOperation.Execute(context : TOperationContext; manager: conn : TFDBConnection; patIds : TPatientIdTracker; begin - result := '??'; + result := '??pe'; patIds := TPatientIdTracker.Create; try try @@ -1524,7 +1524,7 @@ function TFhirProcessClaimOperation.Execute(context : TOperationContext; manager resp : TFhirClaimResponse; needSecure : boolean; begin - result := '??'; + result := '??claim'; claim := nil; try manager.NotFound(request, response); @@ -1621,7 +1621,7 @@ function TFhirGenerateSnapshotOperation.Execute(context : TOperationContext; man utils : TProfileUtilities; op : TFHIROperationOutcome; begin - result := '??'; + result := '??sgen'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1738,7 +1738,7 @@ function TFhirGenerateTemplateOperation.Execute(context : TOperationContext; man narr : TFHIRNarrativeGenerator; needSecure : boolean; begin - result := '??'; + result := '??tgen'; try manager.NotFound(request, response); if manager.check(response, request.Session.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, request.CommandType), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -1836,7 +1836,7 @@ function TFhirGenerateNarrativeOperation.Execute(context : TOperationContext; ma narr : TFHIRNarrativeGenerator; r : TFHIRResourceV; begin - result := '??'; + result := '??ngen'; try r := request.Resource; if (r = nil) then @@ -1898,7 +1898,7 @@ function TFhirSuggestKeyWordsOperation.CreateDefinition(base: String): TFHIROper function TFhirSuggestKeyWordsOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??key'; raise EFHIRException.CreateLang('NOT_DONE_YET', request.langList); end; @@ -1938,7 +1938,7 @@ function TFhirGetMetaDataOperation.Execute(context : TOperationContext; manager: params : TFhirParameters; conn : TFDBConnection; begin - result := '??'; + result := '??mget'; conn := native(manager).Connection; try ok := true; @@ -2085,7 +2085,7 @@ function TFhirAddMetaDataOperation.Execute(context : TOperationContext; manager: mw : TFHIRMetaW; p : TFHIRResource; begin - result := '??'; + result := '??madd'; meta := nil; try @@ -2252,7 +2252,7 @@ function TFhirDeleteMetaDataOperation.Execute(context : TOperationContext; manag mw : TFHIRMetaW; p : TFhirResource; begin - result := '??'; + result := '??mdel'; meta := nil; try ok := true; @@ -2422,7 +2422,7 @@ function TFhirDiffOperation.Execute(context : TOperationContext; manager: TFHIRO // meta : TFHIRMetaW; // c : TFhirCoding; begin - result := '??'; + result := '??diff'; try ok := true; if not manager.check(response, request.canRead(request.ResourceName) and manager.opAllowed(request.ResourceName, fcmdRead), 400, request.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', request.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -2503,7 +2503,7 @@ function TFhirConvertOperation.CreateDefinition(base: String): TFHIROperationDef function TFhirConvertOperation.Execute(context : TOperationContext; manager: TFHIROperationEngine; request: TFHIRRequest; response: TFHIRResponse; tt : TTimeTracker) : String; begin - result := '??'; + result := '??cnv'; try response.Resource := request.Resource.link; response.HTTPCode := 200; @@ -2587,7 +2587,7 @@ function TFhirObservationStatsOperation.Execute(context : TOperationContext; man list : TFslList; res : TFHIRResourceV; begin - result := '??'; + result := '??obs'; try manager.NotFound(request, response); req := TFHIRStatsOpRequest.Create(); @@ -2705,7 +2705,7 @@ function TFhirObservationLastNOperation.Execute(context : TOperationContext; man prsrFmt : TFhirFormat; patIds : TPatientIdTracker; begin - result := '??'; + result := '??lastn'; patIds := TPatientIdTracker.Create; try conn := native(manager).Connection; @@ -2975,7 +2975,7 @@ function TFhirGraphFetchOperation.Execute(context : TOperationContext; manager: engine : TFHIRGraphDefinitionEngine4; p : TFHIRGraphDefinitionParseR5; begin - result := '??'; + result := '??graph'; try manager.NotFound(request, response); if (request.Id <> '') and manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then @@ -3218,7 +3218,7 @@ function TFhirGenerateDocumentOperation.Execute(context : TOperationContext; man p : TFHIRGraphDefinitionParseR5; patIds : TPatientIdTracker; begin - result := '??'; + result := '??dgen'; patIds := TPatientIdTracker.Create; try try @@ -3383,7 +3383,7 @@ function TFhirTransformOperation.Execute(context : TOperationContext; manager: T // utils : TProfileUtilities; // op : TFHIROperationOutcomeW; begin - result := '??'; + result := '??trns'; try manager.NotFound(request, response); if manager.check(response, manager.opAllowed(request.ResourceName, request.CommandType), 400, manager.langList, StringFormat(GetFhirMessage('MSG_OP_NOT_ALLOWED', manager.langList), [CODES_TFHIRCommandType[request.CommandType], request.ResourceName]), itForbidden) then diff --git a/server/package_spider.pas b/server/package_spider.pas index 09909ee71..196a19084 100644 --- a/server/package_spider.pas +++ b/server/package_spider.pas @@ -471,7 +471,7 @@ procedure TPackageUpdater.updateItem(source : String; item: TMXmlElement; i : in date : TFslDateTime; id, url, d, list: String; begin - url := '??'; + url := '??pck'; if item.element('guid') = nil then begin log('Error processing item from '+source+'#item['+inttostr(i)+']: no guid provided', source, true); diff --git a/server/scim_server.pas b/server/scim_server.pas index 4060abe2a..88a0660ac 100644 --- a/server/scim_server.pas +++ b/server/scim_server.pas @@ -991,7 +991,7 @@ function extractProvider(s : String) : String; else if s.StartsWith('http://www.hl7.org') then result := 'HL7' else - result := '??'; + result := '??scim'; end; procedure TSCIMServer.processWebRequest(context: TIdContext; session : TFhirSession; request: TIdHTTPRequestInfo; response: TIdHTTPResponseInfo; prefix : String); diff --git a/server/tx/tx_rxnorm.pas b/server/tx/tx_rxnorm.pas index ca0378289..c68492236 100644 --- a/server/tx/tx_rxnorm.pas +++ b/server/tx/tx_rxnorm.pas @@ -1061,7 +1061,7 @@ function TRxNormServices.systemUri(context: TCodeSystemProviderContext): String; function TRxNormServices.version(context: TCodeSystemProviderContext): String; begin - result := '??'; + result := '??rx1'; end; { TNDFRTServices } @@ -1098,7 +1098,7 @@ function TNDFRTServices.systemUri(context: TCodeSystemProviderContext): String; function TNDFRTServices.version(context: TCodeSystemProviderContext): String; begin - result := '??'; + result := '??rx2'; end; end. diff --git a/server/tx_manager.pas b/server/tx_manager.pas index 374999f86..b3400c8ba 100644 --- a/server/tx_manager.pas +++ b/server/tx_manager.pas @@ -471,7 +471,7 @@ function TAllCodeSystemsProvider.systemUri(context : TCodeSystemProviderContext) case c.source of acssLoinc : result := FStore.Loinc.systemUri(c.context); acssSnomed : result := FStore.DefSnomed.systemUri(); - acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.systemUri(c.context) else result := '??'; + acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.systemUri(c.context) else result := '??tx1'; acssUnii : result := FStore.Unii.systemUri(c.context); acssActCode : result := FActCode.systemUri(c.context); end; @@ -544,7 +544,7 @@ function TAllCodeSystemsProvider.Code(context : TCodeSystemProviderContext) : st case c.source of acssLoinc : result := FStore.Loinc.Code(c.context); acssSnomed : result := FSnomed.Code(c.context); - acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.Code(c.context) else result := '??'; + acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.Code(c.context) else result := '??tx2'; acssUnii : result := FStore.Unii.Code(c.context); acssActCode : result := FActCode.Code(c.context); end; @@ -585,7 +585,7 @@ function TAllCodeSystemsProvider.Definition(context : TCodeSystemProviderContext case c.source of acssLoinc : result := FStore.Loinc.Definition(c.context); acssSnomed : result := FSnomed.Definition(c.context); - acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.Definition(c.context) else result := '??'; + acssRxNorm : if FStore.RxNorm <> nil then result := FStore.RxNorm.Definition(c.context) else result := '??tx3'; acssUnii : result := FStore.Unii.Definition(c.context); acssActCode : result := FActCode.Definition(c.context); end; diff --git a/server/tx_operations.pas b/server/tx_operations.pas index f8049709d..f41b9a84e 100644 --- a/server/tx_operations.pas +++ b/server/tx_operations.pas @@ -308,7 +308,7 @@ function TFhirExpandValueSetOperation.Execute(context : TOperationContext; manag else if vs.url <> '' then result := 'Expand ValueSet '+vs.url+' on '+vs.source else - result := 'Expand ValueSet on '+vs.source; + result := 'Expand inline ValueSet on '+vs.source; vs.checkNoImplicitRules('ExpandValueSet', 'ValueSet'); FFactory.checkNoModifiers(vs.Resource, 'ExpandValueSet', 'ValueSet'); diff --git a/server/validator_r2.pas b/server/validator_r2.pas index 12172f885..b91f381c0 100644 --- a/server/validator_r2.pas +++ b/server/validator_r2.pas @@ -274,7 +274,7 @@ function TFHIRServerWorkerContextR2.validateCode(system, version, code, display else begin result.Severity := isError; - result.Message := '??'; + result.Message := '??val2'; end; result.Link; finally diff --git a/server/validator_r3.pas b/server/validator_r3.pas index ae73ed7f2..11c56b638 100644 --- a/server/validator_r3.pas +++ b/server/validator_r3.pas @@ -358,7 +358,7 @@ function TFHIRServerWorkerContextR3.validateCode(system, version, code, display else begin result.Severity := isError; - result.Message := '??'; + result.Message := '??val3'; end; result.Link; finally diff --git a/server/validator_r4.pas b/server/validator_r4.pas index c49dbfcd5..9b7945e66 100644 --- a/server/validator_r4.pas +++ b/server/validator_r4.pas @@ -357,7 +357,7 @@ function TFHIRServerWorkerContextR4.validateCode(system, version, code, display else begin result.Severity := isError; - result.Message := '??'; + result.Message := '??val4'; end; result.Link; finally diff --git a/server/validator_r4b.pas b/server/validator_r4b.pas index f65b1944d..30dc8173e 100644 --- a/server/validator_r4b.pas +++ b/server/validator_r4b.pas @@ -357,7 +357,7 @@ function TFHIRServerWorkerContextR4B.validateCode(system, version, code, display else begin result.Severity := isError; - result.Message := '??'; + result.Message := '??val4b'; end; result.Link; finally diff --git a/server/validator_r5.pas b/server/validator_r5.pas index 768c9b7d1..88ddc6ff5 100644 --- a/server/validator_r5.pas +++ b/server/validator_r5.pas @@ -357,7 +357,7 @@ function TFHIRServerWorkerContextR5.validateCode(system, version, code, display else begin result.Severity := isError; - result.Message := '??'; + result.Message := 'val5'; end; result.Link; finally diff --git a/server/web/assets/css/jquery-ui.css b/server/web/assets/css/jquery-ui.css new file mode 100644 index 000000000..f7e5293f2 --- /dev/null +++ b/server/web/assets/css/jquery-ui.css @@ -0,0 +1,523 @@ +/*! jQuery UI - v1.11.1 - 2014-10-13 +* http://jqueryui.com +* Includes: core.css, tabs.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-header { + border: 1px solid #EFEFEF; + background: #EEEEEE; + color: #ffffff; + font-weight: bold; +} +.ui-widget-header a { + color: #ffffff; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #cccccc; + background: #f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #1c94c4; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #1c94c4; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #fbcb09; + background: #fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #c77405; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #c77405; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #fbd850; + background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #eb8f00; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #eb8f00; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fed22f; + background: #ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat; + color: #ffffff; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #ffffff; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #ffffff; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_ef8c08_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("images/ui-icons_ef8c08_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("images/ui-icons_ef8c08_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("images/ui-icons_228ef1_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_ffd27a_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #666666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; + opacity: .5; + filter: Alpha(Opacity=50); /* support: IE8 */ +} +.ui-widget-shadow { + margin: -5px 0 0 -5px; + padding: 5px; + background: #000000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x; + opacity: .2; + filter: Alpha(Opacity=20); /* support: IE8 */ + border-radius: 5px; +} diff --git a/server/web_server.pas b/server/web_server.pas index 355662201..8681428ff 100644 --- a/server/web_server.pas +++ b/server/web_server.pas @@ -718,7 +718,7 @@ procedure TFhirWebServer.PlainRequest(AContext: TIdContext; try InterlockedIncrement(GCounterWebRequests); SetThreadStatus('Processing '+request.Document); - epn := '??'; + epn := '??preq'; summ := request.document; MarkEntry(AContext, request, response); try @@ -881,7 +881,7 @@ procedure TFhirWebServer.SecureRequest(AContext: TIdContext; try InterlockedIncrement(GCounterWebRequests); cert := nil; // (AContext.Connection.IOHandler as TIdSSLIOHandlerSocketOpenSSL).SSLSocket.PeerCert; - epn := '??'; + epn := '??sreq'; SetThreadStatus('Processing '+request.Document); MarkEntry(AContext, request, response);