BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

약물 인쇄

목적과 이점

‘약물 인쇄’ 기능을 사용하면 약물명, 용량, 복용 일정 등의 세부 정보가 포함된 약물 목록을 종이로 출력할 수 있습니다. 진료 예약이나 병원 방문 시, 또는 집에서 쉽게 확인할 기록을 보관할 때 특히 유용합니다. 환자는 인쇄된 목록을 통해 의료진에게 정확한 정보를 전달하고 약물 요법을 더 효과적으로 관리할 수 있습니다.

외래(OPD) 환자의 처방전은 다음과 같은 경우에 인쇄할 수 있습니다.

  1. 약물이 조제되면 정부 규정을 준수하기 위해 처방전을 출력하여 환자 파일에 2년 동안 보관해야 합니다. 외래 약물을 조제할 수 없는 경우에는 환자가 다른 약국에서 구할 수 있도록 출력한 처방전을 환자에게 전달해야 합니다.

입원(IPD) 환자의 약물은 병원 안의 ‘미니 스토어’에서 조달하므로 인쇄할 필요가 없습니다. 약물을 인쇄하려면 인쇄할 약물에 해당하는 체크박스를 선택하세요. 하나 이상의 약물을 선택해야 인쇄 버튼이 활성화됩니다. 기본적으로 모든 약물이 선택됩니다. 모든 약물을 자동으로 선택하지 않으려면 알맞게 설정해야 합니다(자세한 내용은 설정 절 참고).관련 문서: config section

image-20240529-000058.png

약물 페이지에서 선택한 약물 목록으로 생성한 PDF 파일 예시입니다.

image-20240529-002033.png

약물 인쇄 기능 설정

약물 인쇄 기능을 활성화하려면 아래 설정을 clinical/app.json의 config 절에 추가해야 합니다.

설정 설명

필드 이름설명선택 사항
printDiagnosis처방전에 인쇄할 진단 유형입니다. 예를 들어 주 진단이면서 확정된 진단을 표시하려면 order를 PRIMARY로, certainity를 CONFIRMED로 지정해야 합니다.
observationsConcepts개념 목록입니다. 지정한 개념에 대해 환자에게 가장 최근에 기록된 관찰을 가져오며, 사용자 지정 템플릿에서 환자의 키, 체중 등의 값을 표시할 때 사용할 수 있습니다.
templateUrl처방전 인쇄에 사용할 사용자 지정 템플릿을 지정하는 필드입니다. 사용자 지정 템플릿 대신 Bahmni 기본 템플릿을 사용하려면 이 설정을 제거해야 합니다.
autoSelectNotAllowed페이지가 로드될 때 모든 처방을 기본으로 자동 선택할지 여부를 제어하는 불리언 값입니다. true이면 인쇄 전에 체크박스를 수동으로 선택해야 합니다. false로 설정하거나 이 설정을 생략하면 모든 약물 체크박스가 기본으로 선택됩니다.

참고: 진단, 관찰 등의 사용자 지정 옵션을 PDF에 표시하려면 해당 데이터를 표현할 적절한 CSS와 HTML 요소가 포함된 사용자 지정 템플릿을 제공해야 합니다. 아래의 HTML 예시(medicationPrint.html)를 참고할 수 있습니다.

medicationPrint.html 예시:

@media print {

/* Hide the header */

@page { margin-top: 20px; }

header, .header {

display: none !important;

}

/* Hide the footer */

@page { margin-bottom: 20px; }

footer, .footer {

display: none !important;

}

}

{{printParams.title}}

{{printParams.header}}

Name of the Patient: {{patient.name}} ({{patient.identifier}})

Date : {{additionalInfo.currentDate | bahmniDate}}

Age:

{{patient.birthdate | dateToAge:visit.dateStarted}}

Sex: {{patient.genderText.substring(6, patient.genderText.length - 7)}}

Weight: {{observationsEntries[0].value}} {{observationsEntries[0].concept.units}}

Address: {{patient.address.address5}}

Kebele: {{patient.address.address4}}

Woreda: {{patient.address.address3}}

Zone: {{patient.address.address2}}

Region: {{patient.address.address1}}

Country: {{patient.address.country}}

Tel no: {{patient.mobilePhone.value}}

Visit Type: {{additionalInfo.visitType}}

Diagnosis (ICD-10 code): {{ diagnosesCodes }}

Allergies: {{ allergies.length > 0 ? allergies : "No allergies recorded for this patient"}}

0">

Treatment

{{'MEDICATION_DRUG_NAME_TITLE'|translate}}

{{'MEDICATION_DOSAGE_INFORMATION_LABEL'|translate}}

{{'MEDICATION_LABEL_START_DATE'|translate}}

{{'PRINT_MEDICATION_TOTAL_QUANTITY_TITLE'|translate}}

stopped {{::drugOrder.effectiveStopDate | bahmniDate}}

{{'TREATMENT_NOTES'|translate}}: {{drugOrder.additionalInstructions}}

Prescriber :

Full Name: {{value.drugOrders[0].provider.attributes[0].value}}

Title: {{value.drugOrders[0].provider.attributes[1].value}}

Medical Licence Number: {{value.drugOrders[0].provider.attributes[2].value}}

Dispenser :

Full Name: {{dispenserInfo[0].value}}

Title: {{dispenserInfo[1].value}}

Medical Licence Number: {{dispenserInfo[2].value}}

]]>

<link rel="stylesheet" href="/bahmni_config/openmrs/apps/clinical/clinicalPrints/css/print.css"/>
<style>
    @media print {
        /* Hide the header */
        @page { margin-top: 20px; }
        header, .header {
            display: none !important;
        }

        /* Hide the footer */
        @page { margin-bottom: 20px; }
        footer, .footer {
            display: none !important;
        }
    }
</style>
<div class="print-wrapper custom-print-style" ng-switch="encounterDrugOrderMap!=null">
    <div class="print-header" ng-if="printParams">
        <div class="print-logo-plus-text">
            <img class="print-logo" width="125px" ng-if="printParams.logo" ng-src="{{printParams.logo}}" alt="logo"/>
            <h1 class="print-logo-text">{{printParams.title}}</h1>
            <div class="print-right"></div>
        </div>
        <div class="clinic-info">
            <span> {{printParams.header}}</span>
        </div>
        <div style="float: left;text-align: left;font-size: 10pt;font-weight: bold;margin-bottom: 10px;margin-top: 10px;" 
            ng-bind-html="additionalInfo.facilityLocation.address5"></div>
    </div>
    <!-- Patient Info -->
    <div class="patient-info">
        <table ng-switch="encounterDrugOrderMap!=null">
            <tr>
                <td colspan="2" style="font-size: 12pt;">Name of the Patient: <span class="value">{{patient.name}} ({{patient.identifier}})</span></td>
                <td>Date : <span class="value">{{additionalInfo.currentDate | bahmniDate}}</span></td>
            </tr>
            <tr>
                <td>Age: <span class="value">
                    {{patient.birthdate | dateToAge:visit.dateStarted}}
                </span></td>
                <td>Sex: <span class="value">{{patient.genderText.substring(6, patient.genderText.length - 7)}}</span></td>
                <td>Weight: <span class="value">{{observationsEntries[0].value}} {{observationsEntries[0].concept.units}}</span></td>
            </tr>
            <tr>
                <td>Address: <span class="value">{{patient.address.address5}}</span></td>
                <td>Kebele: <span class="value">{{patient.address.address4}}</span></td>
                <td>Woreda: <span class="value">{{patient.address.address3}}</span></td>
            </tr>
            <tr>
                <td>Zone: <span class="value">{{patient.address.address2}}</span></td>
                <td>Region: <span class="value">{{patient.address.address1}}</span></td>
                <td>Country: <span class="value">{{patient.address.country}}</span></td>
            </tr>
            <tr>
                <td>Tel no: <span class="value">{{patient.mobilePhone.value}}</span></td>
                <td colspan="2">Visit Type: <span class="value"> {{additionalInfo.visitType}} </span></td>
            </tr>
            <tr>
                <td>Diagnosis (ICD-10 code): <span class="value">{{ diagnosesCodes }}</span></td>
                <td colspan="2">Allergies: <span class="value"> {{ allergies.length > 0 ? allergies : "No allergies recorded for this patient"}} </span></td>
            </tr>
            <tr>
                
            </tr>
        </table>
    </div>
    <!-- Prescription Info -->
    <section ng-switch-when="true" bindonce="encounterDrugOrderMap">
        <section class="block treatment-section" ng-show="encounterDrugOrderMap.length>0">
            <h2 class="section-title">Treatment</h2>
            <div ng-repeat="(key, value) in encounterDrugOrderMap">
                <table class="printPrescription">
                    <tr>
                        <th style="width : 33%">{{'MEDICATION_DRUG_NAME_TITLE'|translate}}</th>
                        <th style="width : 43%">{{'MEDICATION_DOSAGE_INFORMATION_LABEL'|translate}}</th>
                        <th style="width : 10%">{{'MEDICATION_LABEL_START_DATE'|translate}}</th>
                        <th style="width : 14%">{{'PRINT_MEDICATION_TOTAL_QUANTITY_TITLE'|translate}}</th>
                    </tr>
                    <tbody ng-repeat="drugOrder in value.drugOrders" ng-class="{'strike-through': drugOrder.isDiscontinuedOrStopped()}">
                    <tr>
                        <td class="drug-name" bo-text="drugOrder.getDisplayName()" ng-class="{'strike-text':drugOrder.isDiscontinuedOrStopped()}"></td>
                        <td class="dosage-form">
                            <span bo-show="drugOrder.getDescription()" bo-text="drugOrder.getDescription()" ng-class="{'strike-text':drugOrder.isDiscontinuedOrStopped()}"></span>
                            <span bo-show="!drugOrder.getDescription()" bo-text="' - '"></span>
                            <span ng-if="drugOrder.isDiscontinuedOrStopped()" class="fr">stopped {{::drugOrder.effectiveStopDate | bahmniDate}}</span>
                        </td>
                        <td bo-text="(drugOrder.effectiveStartDate | bahmniDate)"></td>
                        <td class="drug-name">
                            <span bo-show="drugOrder.getQuantityWithUnit()" bo-text="drugOrder.getQuantityWithUnit()"></span> 
                        </td>
                    </tr>
                    <tr ng-if="::drugOrder.additionalInstructions">
                        <td></td>
                        <td colspan="2" class="inline-notes notes" style="color: #787878;">
                            <p class="left"><strong style="padding-left: 0px;padding-bottom: 0px;">{{'TREATMENT_NOTES'|translate}}: </strong>{{drugOrder.additionalInstructions}}</p>
                        </td>
                        <td></td>
                    </tr>
                    </tbody>
                </table>
                <div>
                    <span style="float: left; margin-top:15px; margin-bottom: 25px;">
                        <h2 class="encounter-info">Prescriber :</h2>
                        <table>
                            <tr>
                                <td style="padding: 0px;">Full Name: {{value.drugOrders[0].provider.attributes[0].value}}</td>
                            </tr>
                            <tr>
                                <td style="padding: 0px;">Title: {{value.drugOrders[0].provider.attributes[1].value}}</td>
                            </tr>
                            <tr>
                                <td style="padding: 0px;">Medical Licence Number: {{value.drugOrders[0].provider.attributes[2].value}}</td>
                            </tr>
                        </table>
                    </span>
                    <span style="float: right; margin-top:15px; margin-bottom: 25px;">
                        <h2 class="encounter-info">Dispenser :</h2>
                        <table>
                            <tr>
                                <td style="padding: 0px;">Full Name: {{dispenserInfo[0].value}}</td>
                            </tr>
                            <tr>
                                <td style="padding: 0px;">Title: {{dispenserInfo[1].value}}</td>
                            </tr>
                            <tr>
                                <td style="padding: 0px;">Medical Licence Number: {{dispenserInfo[2].value}}</td>
                            </tr>
                        </table>
                    </span>
                </div>
            </div>
        </section>        
    </section>
</div>
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗