-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor fhir-term module #1530
Comments
Proposed simplified public interface FHIRTermServiceProvider {
boolean isSupported(CodeSystem codeSystem);
Concept findConcept(CodeSystem codeSystem, Code code);
Concept findConcept(CodeSysten codeSystem, Concept concept, Code code);
LookupOutcome lookup(CodeSystem codeSystem, Code code, LookupParameters parameters);
default LookupOutcome lookup(CodeSystem codeSystem, Code code) {
return lookup(codeSystem, code, LookupParameter.EMPTY);
}
ConceptSubsumptionOutcome subsumes(CodeSystem codeSystem, Code codeA, Code codeB);
ConceptMap closure(CodeSystem codeSystem, Code code);
ValidationOutcome validateCode(CodeSystem codeSystem, Code code, String display, ValidationParameters parameters);
default ValidationOutcome validateCode(CodeSystem codeSystem, Code code, String display) {
return validateCode(codeSystem, code, display, ValidationParameters.EMPTY);
}
} |
Signed-off-by: John T.E. Timm <johntimm@us.ibm.com>
* Upgrade Pom.xml to latest versions of Dependencies #1959 Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Update to include Bulkdata Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Push version dependencies into parent Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Update Dependencies and Resolve Duplicates in the pom.xmls, shifted the dependency versions to dependencyManagement in the parent pom Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * fix: update per code review and fix compilation Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Remove changes to Apache Derby and add a comment not to upgrade Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Update Test Certificates to Expire in Year 2051 (#1900) * Update Test Certificates to Expire in Year 2051 - Update CI/CD Audit resources (jks) - Update Minio Resources (crt,key) - Update fhir-server trust and key store (p12) - Update fhir-client (p12) - Create build/certificates with documentation on certificates and utility scripts Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Unify the CA that signs the Client/Server Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Unify the Certificates including Minio Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Unify the Certificates including Minio Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * fhir-server-test relies on certificates in p12 files expire in April 2021 #1276 Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * fhir-server-test relies on certificates in p12 files expire in April 2021 #1276 Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Update to include subject alternate names Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Update to include subject alternate names Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * update for notification ci and per review comments Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Fix: pom.xml Signed-off-by: Paul Bastide <pbastide@us.ibm.com> * Issue #1530 - fhir-term refactoring (#1975) Signed-off-by: John T.E. Timm <johntimm@us.ibm.com> Co-authored-by: Paul Bastide <pbastide@us.ibm.com>
I think we need to update the javadoc for
It returns a boolean but the javadoc implies it will return a Concept |
was just reading at https://www.hl7.org/fhir/operation-codesystem-subsumes.html
we don’t support subsumption testing across codesystems, right? is that a limitation of the current interface? |
1. clarify the contract for FHIRTermServiceProvider.getConcept 2. update stale javadoc for FHIRTermServiceProvider.subsumes Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
I opened https://github.com/IBM/FHIR/pull/2181/files with my recommended javadoc updates. |
I discussed this with @JohnTimm and he wanted to keep just the single-system variant for now (since this is all we support at the moment). If/when we get a FHIRTermServiceProvider implementation that can test for subsumption across systems, we'll need to update the interface to support that. |
The
fhir-term
module should be updated as follows:FHIRTermService
for multipleFHIRTermServiceProvider
instances:Add methods to
FHIRTermServiceProvider
interface:boolean isSupported(CodeSystem)
Concept findConcept(CodeSystem, Code)
Concept findConcept(CodeSystem, Code, Code)
Remove methods from
FHIRTermServiceProvider
interface:boolean isExpandable(ValueSet)
Consider removing
validateCode(ValueSet, ...)
methodsConsider removing
expand(ValueSet)
methodUpdate methods in FHIRTermService class:
boolean isExpandable(ValueSet
) should be updated to callValueSetSupport.isExpandable(ValueSet)
ValidationResult validateCode(ValueSet, ...)
methods should be updated to callValueSetSupport.validateCode(ValueSet, ...)
Consider removing dependency on FHIRTermServiceProvider interface
Add implementation for new methods in
DefaultTermServiceProvider
:boolean isSupported(CodeSystem)
->CodeSystem.content = 'complete'
Concept findConcept(CodeSystem, Code)
-> callsCodeSystemSupport.findConcept(...)
Concept findConcept(CodeSystem, Code, Code)
-> callsCodeSystemSupport.findConcept(...)
Updated methods and inner classes in ValueSetSupport
Update
isExpandable
to useFHIRTermService.getInstance().isSupported(CodeSystem)
Update
createDescendOfFilter
,createGeneralizesFilter
,createIsAFilter
,createIsNotFilter
to useFHIRTermService.getInstance().findConcept(...)
methodUpdate
DescendantOfFilter
,GeneralizesFilter
,IsAFilter
,EqualsFilter
to useFHIRTermService.getInstance().findConcept(...)
methodCenteralize code set caching: move code set caching from
DefaultTermServiceProvider
back into theValueSetSupport
classThe text was updated successfully, but these errors were encountered: