F004 - 진료기록 기록, 수정, 조회

인증기준번호
  • F004
  • 등급
유형별 필수 여부
  • 유형 1 : 필수
  • 유형 2 : 필수
  • 유형 3 : 필수
분류
의무기록
인증기준
진료기록 기록, 수정, 조회
인증기준 설명

환자의 진료기록을 기록, 수정, 조회할 수 있어야 함. 

용어 정의: 
- ‘기록’은 사용자가 진료기록을 입력하고 서명하는 기능, ‘수정’은 기 작성한 진료기록을 정정하거나 추가하고 서명하는 기능, ‘조회’는 진료기록을 화면에 보여주는 기능을 말한다.
- 의료법에 정의된 ‘진료기록’은 의료인이 진료기록부, 간호기록부 및 그 밖의 진료에 관한 문서에 환자의 주된 증상, 진단 및 치료 내용 등 의료인의 의료행위에 관한 사항과 의견을 기록한 것을 말한다. 

개발가이드
보기(레이어 팝업)
산출소스

Private Sub  진료기록진단Input(ByVal 진단사용자코드 As String, ByVal 입력일자 As String) 
    Dim 진단조회데이터() As String

    '진단조회
    진단조회데이터= Master.Select(사용자코드, 입력일자)

    '진단입력
    If 진단조회데이터(0).Trim.Length > 0 Then
        '표준항목및Value Set 정의
        진단List.SetData(진단조회데이터.사용자코드)
        진단List.SetData(진단조회데이터.청구코드)
        진단List.SetData(진단조회데이터.코드명칭)
        진단List.SetData(진단조회데이터.과목코드)            
            
        '표준코드 및 용어 표준 매핑정보 Set
    End If                 
End Sub 

Private Sub  진료기록처방Input(ByVal 처방사용자코드 As String, ByVal 입력일자 As String) 
    Dim 처방조회데이터 As DataTable
             
    '처방조회
    처방조회데이터= Master.Select(처방사용자코드, 입력일자) 
                                
    '진단입력
    If 처방조회데이터.Rows.Count > 0 Then
        '표준항목및Value Set 정의
        처방List.SetData(처방조회데이터.사용자코드)
        처방List.SetData(처방조회데이터.청구코드)
        처방List.SetData(처방조회데이터.코드명칭)        
        처방List.SetData(처방조회데이터.투여량)
        처방List.SetData(처방조회데이터.횟수)
        처방List.SetData(처방조회데이터.일수)
            
        '표준코드 및 용어 표준 매핑정보 Set
    End If                 
End Sub

Private Sub  진료기록Save(ByVal sPrmEmrRegNum As String, ByVal IcdList As DataTable, _
                          ByVal 처방List As DataTable, ByVal 증상 As DataTable, _
                          ByVal 입력일자 As String) 
                          
    Dim 데이터포맷, 사용자Dn As String = ""  
    Dim 진단서명데이터, 진단전자서명검증데이터 As String = ""
    Dim 처방서명데이터, 처방전자서명검증데이터 As String = ""
    Dim 증상서명데이터, 증상전자서명검증데이터 As String = ""
 
    '진단저장
    진단정보.Save(환자정보, 진단List)
    
    '진단전자서명데이터로 포맷
    데이터포맷 = SignForamt(진단List)                
        
    사용자Dn = Me.oMdlAxCrossCert.GetUserDn()
        
    진단서명데이터 = Me.oMdlAxCrossCert.SignedData(사용자Dn, String.Empty, 데이터포맷)
        
    if 진단서명데이터 <> "" then
        '유효성검사
        oMdlAxCrossCert.SetValidationFlag(0)
                    
        '전자서명 검증
        진단전자서명검증데이터 = Me.oMdlAxCrossCert.VerifySignData(진단서명데이터, "SHA1")
    End if
        
    '진단전자서명
    전자서명정보.Save(환자정보, 진단전자서명검증데이터)

  '처방저장
    처방정보.Save(환자정보, 처방List)
    
    '전자서명데이터로포맷
    데이터포맷= SignForamt(처방List)                
        
    사용자Dn = Me.oMdlAxCrossCert.GetUserDn()
        
    처방서명데이터= Me.oMdlAxCrossCert.SignedData(사용자Dn, String.Empty, 데이터포맷)
        
    if 처방서명데이터<> "" then
        '유효성검사
        oMdlAxCrossCert.SetValidationFlag(0)
                    
        '전자서명검증
        처방전자서명검증데이터= Me.oMdlAxCrossCert.VerifySignData(처방서명데이터, "SHA1")
    End if
        
    '처방전자서명
    전자서명정보.Save(환자정보, 처방자서명검증데이터)   
    
    '증상저장
    증상정보.Save(환자정보, 증상)
    
    '전자서명데이터로 포맷
    데이터포맷 = SignForamt(증상)
        
    사용자Dn = Me.oMdlAxCrossCert.GetUserDn()
        
    증상서명데이터 = Me.oMdlAxCrossCert.SignedData(사용자Dn, String.Empty, 데이터포맷)
        
    if 증상서명데이터 <> "" then
        '유효성검사
        oMdlAxCrossCert.SetValidationFlag(0)
                    
        '전자서명 검증
        증상전자서명검증데이터 = Me.oMdlAxCrossCert.VerifySignData(증상서명데이터, "SHA1")
    End if
        
    '증상전자서명
    전자서명정보.Save(환자정보, 증상전자서명검증데이터)   
End Sub