2016-06-28 11 views
0

HAPI FHIR DSTU2HL7Org를 사용하여 원격 서버에 MedicationOrders를 생성하고 있습니다. 객체의 구성은 다음과 같습니다.생성 된 메시지에 '포함 된'요소가 중복 됨 - HAPI FHIR DSTU2HL7Orr

MedicationOrder[] medicationOrder = null; 
MedicationOrderDataWrapper[] medicationOrderWrapper = new MedicationOrderDataToolkit().getMedicationOrderDataWrapper(wrapper); 

if(medicationOrderWrapper != null) 
{ 
    medicationOrder = new MedicationOrder[medicationOrderWrapper.length]; 
    for(int i=0; i<medicationOrderWrapper.length; i++) 
    { 
    medicationOrder[i] = new MedicationOrder(); 
    MedicationOrderDosageInstructionComponent dosageInstruction = new MedicationOrderDosageInstructionComponent().setDose(medicationOrderWrapper[i].getDoseQuantity()). 
     setTiming(medicationOrderWrapper[i].getTiming()).setAdditionalInstructions(medicationOrderWrapper[i].getAdditionalInstruction()); 

    medicationOrder[i].addDosageInstruction(dosageInstruction).setEncounterTarget(medicationOrderWrapper[i].getEncounter()). 
    setMedication(medicationOrderWrapper[i].getMedicationCodeableConcept()).setPatientTarget(medicationOrderWrapper[i].getPatient()).setPrescriberTarget(medicationOrderWrapper[i].getPractitioner()) 
    .addExtension(medicationOrderWrapper[i].getExtension()); 

    medicationOrder[i].getContained().add(medicationOrder[i].getEncounterTarget()); 
    medicationOrder[i].getContained().add(medicationOrderWrapper[i].getOrganization()); 
    medicationOrder[i].getContained().add(medicationOrderWrapper[i].getLocation()); 
    medicationOrder[i].getContained().add(medicationOrder[i].getPatientTarget()); 
    medicationOrder[i].getContained().add(medicationOrder[i].getPrescriberTarget()); 

    medicationOrder[i].setEncounter(new Reference("#" + medicationOrder[i].getEncounterTarget().getId())) 
    .setPatient(new Reference("#" + medicationOrder[i].getPatientTarget().getId()).setDisplay(medicationOrder[i].getPatientTarget().getName().get(0).getText())) 
    .setPrescriber(new Reference("#" + medicationOrder[i].getPrescriberTarget().getId()).setDisplay(medicationOrder[i].getPrescriberTarget().getName().getText())) 
    .setReason(medicationOrderWrapper[i].getReasonCodeableConcept()).addIdentifier(medicationOrderWrapper[i].getCosmicIdentifier()); 

그러나이 코드는 생성 된 xml 메시지에 포함 된 요소가 중복됩니다. 조직 및 위치 요소는 각각 3 회 및 2 회 나타납니다. 환자, 진료인 및 만남은 한 번만 나타납니다.

누구든지 설명해 주시겠습니까?

답변

0

이것은 실제로 버그처럼 들립니다. GitHub 문제 추적기에 대한 보고서를 제출 하시겠습니까?

+0

감사합니다. Mr. Agnew. 나는 버그를보고 할 것이다. –