F004 - 진료기록 기록, 수정, 조회
- 인증기준번호
-
- F004
- 등급
- 유형별 필수 여부
-
- 유형 1 : 필수
- 유형 2 : 필수
- 유형 3 : 필수
- 분류
- 의무기록
- 인증기준
- 진료기록 기록, 수정, 조회
- 인증기준 설명
-
환자의 진료기록을 기록, 수정, 조회할 수 있어야 함.
용어 정의:
- ‘기록’은 사용자가 진료기록을 입력하고 서명하는 기능, ‘수정’은 기 작성한 진료기록을 정정하거나 추가하고 서명하는 기능, ‘조회’는 진료기록을 화면에 보여주는 기능을 말한다.
- 의료법에 정의된 ‘진료기록’은 의료인이 진료기록부, 간호기록부 및 그 밖의 진료에 관한 문서에 환자의 주된 증상, 진단 및 치료 내용 등 의료인의 의료행위에 관한 사항과 의견을 기록한 것을 말한다.
- 개발가이드
-
보기(레이어 팝업)
개발가이드
진료기록 기록, 수정, 조회 F004
- Input
-
(1) 진료기록 등록
환자리스트에서 환자선택 후 진료기록등록 화면에서 서식종류를 선택하여 신규 작성한다.
- 서식종류 : 외래초진, 외래경과 중 선택
- 기록내용 : 구조화된 형태 또는 free text로 입력
- 진료일 : 해당 기록의 진료일을 YYYY-MM-DD로 선택
- 서명여부 : 해당 진료기록의 저장/서명 여부를 저장
(2) 진료기록 수정
기존에 작성된 기록의 기록내용, 진료일, 서명여부를 수정하여 저장 또는 서명한다.
- Output
-
(1) input으로 입력된 정보를 기록DB에 추가
- 환자번호 : 선택한 환자의 환자번호를 추가
- 기록종류 : 선택한 서식의 종류를 추가
- 기록내용 : 입력받은 형태를 그대로 추가
- 진료일 : 입력받은 형태를 그대로 추가
- 작성일시 : 해당 기록이 최종적으로 저장 또는 서명된 일시를 YYYY-MM-DD hh:mm의 형태로 추가
- 작성자 : 해당 기록 작성자의 ID를 저장
- 서명여부 : 서명 시 인증로그를 저장
- 문서번호 : 진료기록을 신규로 저장 또는 서명할 때마다 고유한 문서번호를 생성
- 관리번호 : 해당 진료기록이 몇 번째로 수정된 버전인지를 저장
(2) 기록DB를 바탕으로 진료기록조회 화면에서 조회
가장 최종 관리번호의 버전을 기준으로 환자정보(환자번호에 등록된 환자명, 성별, 나이), 기록내용, 진료일, 작성일시, 작성자(작성자 ID에 등록된 작성자명), 서명여부(서명한 경우 서명이미지 포함)를 보여준다.
- 관련 인증항목
-
○ 보안성 S011 전자서명
○ 보안성 S012 사용자 권한 부여
- 데이터 항목
-
항목명
필수여부
(R1/R2/O)유형
밸류셋
환자번호
R1
string
-
기록종류
R1
string
-
기록내용
R1
string
-
진료일
R1
date
-
작성일시
R1
datetime
-
작성자
R1
string
-
서명여부
R1
string
-
문서번호
R1
string
-
관리번호
R1
number
-
- 개발 내용 시나리오
-
1. 다음과 같이 진료기록을 입력한다.
기록종류
외래초진
기록내용
주증상: 다뇨, 구갈, 피로감
치료내용: Metformin(메트포르민), Linagliptine(리나글립틴), Gliclazide(글리클라지드) 처방함
진료일
2019-11-20
서명여부
저장
2. 진료기록조회 화면에서 조회한다.
환자정보
12345678 홍길동(남, 37세)
기록종류
외래초진
기록내용
주증상: 다뇨, 구갈, 피로감
치료내용: Metformin(메트포르민), Linagliptine(리나글립틴), Gliclazide(글리클라지드) 처방함
진료일
2019-11-20
작성일시
2019-11-20 16:05
작성자
이○○
3. 기작성된 진료기록을 수정한다.
4. 진료기록조회 화면에서 수정된 내용을 조회한다.
환자정보
12345678 홍길동(남, 37세)
기록종류
외래초진
기록내용
주증상: 다뇨, 구갈, 피로감
치료내용: Metformin(메트포르민), Linagliptine(리나글립틴), Gliclazide(글리클라지드) 처방함. 3주 뒤 재진 필요.
진료일
2019-11-20
작성일시
2019-11-20 17:44
작성자
이○○ (서명이미지)
- 산출소스
-
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 SubPrivate 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 SubPrivate 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