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

양식 인쇄

목적과 이점

‘양식 인쇄’ 기능을 통해 의사는 시스템의 양식을 인쇄하여 입원 부서에 전달할 수 있습니다. 예를 들어 의사가 입원 주문 양식을 작성할 수 있습니다. 별도의 알림 기능이 없으므로 입원 병동 간호사가 내용을 받으려면 인쇄된 입원 주문 양식을 병동으로 보내야 합니다.

인쇄 버튼은 아래 스크린샷과 같이 표시됩니다.

image-20240809-073723.png

병력 및 진찰 양식에서 인쇄 버튼을 눌러 생성한 PDF 예시입니다.

Screenshot 2024-08-09 at 1.11.48 PM.png

양식 인쇄 기능 구성

양식 보기에서 인쇄 기능을 활성화하려면 clinical/dashboard.json의 양식 표시 제어 구성에 아래 설정을 추가해야 합니다.

구성 설명

Field NameDescriptionMandatory
printingConfig to enable the print functionality. This configuration is required for the print button to be shown in the forms view page.Yes
printDiagnosisThis is type of diagnosis we want to print in the form print.For eg: if we want to show the diagnosis which are primary and confirmed, we need to give the order as PRIMARY and certainity as CONFIRMEDNo
observationsConceptsThis is a list of concepts. This is to fetch the latest observation captured for the patients for the given concepts which can then be consumed in the custom template to show values like patient's height, weight, etc.No
templateUrlThis field is required for the custom template to be used for printing the forms. If we want a default Bahmni's template and not the custom one, we need to remove this configNo

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

formPrint.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;

}

}

{{printConfig.title}}

{{printConfig.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): {{ diagnosesWithCodes }}

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

{{::title |

translate}}

0">

0">

{{::obsGroup.date | bahmniDateTime}}

{{::message|translate}}

Other Notes :

Signature:

Date:

]]>

<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">
    <div class="print-header" ng-if="printConfig">
        <div class="print-logo-plus-text">
            <img class="print-logo" width="125px" ng-if="printConfig.logo" ng-src="{{printConfig.logo}}" alt="logo"/>
            <h1 class="print-logo-text">{{printConfig.title}}</h1>
            <div class="print-right"></div>
        </div>
        <div class="clinic-info">
            <span> {{printConfig.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>
            <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">{{ diagnosesWithCodes }}</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>
    <!-- Form Info -->
    <div class="sections-group">
        <div class="section">
            <section class="block observation dashboard-section" id="observationSection">
                <ul bm-gallery access-impression="true">
                    <section class="block " ng-class="::{'hidden-print': noObsMessage}">
                        <h2 class="tableMargin"
                            ng-class="::{'section-title': !isFulfilmentDisplayControl, 'form-field': isFulfilmentDisplayControl}">{{::title |
                            translate}}</h2>
                        <div class="concept-set-container-view">
                            <section class="block hierarchy">
                                <ul class="form-field" ng-if="bahmniObservations.length > 0">
                                    <li class="tableMargin" ng-repeat="obsGroup in ::bahmniObservations">
                                        <span class="tree-list-item row-click toggle-container" toggle="obsGroup.isOpen">
                                            <span class="obs-date" ng-if="obsGroup.value.length > 0">
                                                {{::obsGroup.date | bahmniDateTime}}
                                            </span>
                                        </span>
                                        <ul class="print-observations visible-print">
                                            <li class="tableBorder" ng-repeat="observation in ::obsGroup.value track by $index">
                                                <ul>
                                                    <show-observation show-details-button="::config.showDetailsButton" patient="::patient"
                                                                    observation="::observation"
                                                                    level="2"
                                                                    template-url="/bahmni_config/openmrs/apps/clinical/clinicalPrints/showObservations.html">
                                                                    </show-observation>
                                                </ul>
                                            </li>
                                        </ul>
                                    </li>
                                </ul>
                                <div ng-if="::noObsMessage">
                                    <div class="placeholder-text" ng-if="::!message"><p translate="DISPLAY_CONTROL_ERROR_MESSAGE_KEY"
                                                                                    translate-values="::{displayControl : '{{title | translate}}'}"></p>
                                    </div>
                                    <div class="placeholder-text" ng-if="::message">{{::message|translate}}</div>
                                </div>
                            </section>
                        </div>
                    </section>
                </ul>
            </section>
        </div>
    </div>
    <!-- Footer -->
    <div class="print-form-footer">
        <label for="other-notes">Other Notes :</label>
        <input type="text" id="other-notes" class="other-notes" />
        <span class="footer-table-left">
            <table>
                <tr>
                    <td>Signature: </td>
                </tr>
            </table>
        </span>
        <span class="footer-table-right">
            <table>
                <tr>
                    <td>Date:                         </td>
                </tr>
            </table>
        </span>
    </div>
</div>
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗