001package org.hl7.fhir.r5.renderers;
002
003import org.hl7.fhir.r5.model.CodeableConcept;
004import org.hl7.fhir.r5.model.Coding;
005import org.hl7.fhir.r5.model.Resource;
006import org.hl7.fhir.utilities.MarkedToMoveToAdjunctPackage;
007
008@MarkedToMoveToAdjunctPackage
009public interface CodeResolver {
010
011  public class CodeResolution {
012    private String systemName;
013    private String systemLink;
014    private String link;
015    private String display;
016    private String hint;
017    
018    
019    protected CodeResolution(String systemName, String systemLink, String link, String display, String hint) {
020      super();
021      this.systemName = systemName;
022      this.systemLink = systemLink;
023      this.link = link;
024      this.display = display;
025      this.hint = hint;
026    }
027    
028    public String getSystemName() {
029      return systemName;
030    }
031    public String getSystemLink() {
032      return systemLink;
033    }
034    public String getLink() {
035      return link;
036    }
037    public String getDisplay() {
038      return display;
039    }
040    public String getHint() {
041      return hint;
042    }
043
044    
045  }
046  
047  public CodeResolution resolveCode(String system, String code, Resource source);
048  public CodeResolution resolveCode(Coding code, Resource source);
049  public CodeResolution resolveCode(CodeableConcept code, Resource source);
050}