개인 건강 기록 (PHR) 앱 백엔드 템플릿
사용자 소유의 의료 문서, 알레르기 추적 및 예방 접종 기록
Back4app에 있는 개인 건강 기록 백엔드: 의료 문서 저장소, 알레르기 및 예방 접종 기록, 약물 및 검사 모델, 동의/공유, 감사 로그, ER 다이어그램 및 신속한 부트스트래핑을 위한 AI 에이전트 프롬프트.
주요 요점
이 템플릿은 문서 저장소, 알레르기, 예방 접종, 약물, 실험실 결과, 동의 객체 및 감사 로그를 갖춘 사용자 중심의 PHR 백엔드를 제공합니다. 이를 통해 개인 정보 보호를 우선시하는 건강 앱을 신속하게 제공할 수 있습니다.
- 사용자 주도 건강 데이터 — 환자를 최우선으로 생각하세요: 기록과 동의는 사용자의 계정이 소유하고 관리하며, Provider와의 선택적 공유가 가능합니다.
- 구조적 임상 엔터티 — 정확한 쿼리 및 사용자 경험 표시를 위한 유형 지정 필드로 알레르기, 예방 접종, 약물 및 실험실 결과를 모델링합니다.
- 문서 업로드 및 버전 관리 — PDF, 이미지 및 구조화된 문서를 메타데이터와 업로드 이력을 통해 저장하여 임상 워크플로를 지원합니다.
- 동의 기반 공유 — 동의 객체와 시간 한정 권한으로 세부 접근 허용 Provider .
- 크로스 플랫폼 준비 완료 — 통합 REST 및 GraphQL API를 사용하여 모바일, 웹 및 Provider 포털에 서비스 제공, 실시간 업데이트를 위한 Live Queries .
개인 건강 기록(PHR) 앱 백엔드 템플릿이란?
Back4app는 빠른 제품 전달을 위한 백엔드 서비스(BaaS)입니다. PHR 앱 백엔드 템플릿은 의료 문서, 알레르기, 면역 접종, 약물, 실험실 결과, Provider s, 동의 및 감사 로그에 대한 사전 구축된 스키마입니다. 프론트엔드(React, Flutter, Next.js 등)를 연결하고 전달 속도를 높이세요.
최고:
개요
현대 PHR 제품은 문서에 대한 안전한 사용자 우선 저장소, 정확한 알레르기 및 면역 기록, 약물 역사 및 Provider와 데이터 공유를 위한 동의 모델이 필요합니다.
이 템플릿은 소유권 규칙과 확장 가능한 워크플로우를 통해 팀이 PHR 앱을 신속하고 준수하게 구현할 수 있도록 HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent 및 AuditLog를 정의합니다.
핵심 PHR 기능
이 허브의 모든 기술 카드에는 HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent 및 AuditLog와 동일한 PHR 백엔드 스키마가 사용됩니다.
의료 문서 금고
메타데이터 및 소유자 포인터와 함께 PDF, 이미지 및 구조화된 기록을 업로드하고 버전 관리합니다.
알레르기 및 React 추적
소유자와 연결된 알레르겐, React 및 증상의 심각도, 발현 날짜를 기록합니다.
면역접종 및 백신 역사
백신 이름, 접종 날짜, 배치 및 Provider 참조를 기록하십시오.
약물 목록 및 일정
용량, 빈도 및 지침과 함께 활성 및 역사적 약물을 저장합니다.
실험실 결과
숫자 값, 단위, 참조 범위 및 첨부 파일과 함께 실험실 결과를 저장합니다.
동의 및 공유 제어
기한 및 범위를 지정하여 Provider에 특정한 기록 액세스를 허용하세요.
중앙 집중식 감사 로그
추적 가능성을 위해 행위자, 행동, 대상 및 페이로드 메타데이터를 기록합니다.
왜 Back4app으로 당신의 PHR 백엔드를 구축하나요?
Back4app은 PHR 앱을 위한 핵심 인프라를 제공하여 당신의 팀이 백엔드 작업 대신 UX, 동의 경험 및 통합에 집중할 수 있도록 합니다.
- •사용자 중심의 데이터 소유권: 소유권 규칙과 동의 객체를 구현하여 환자가 자신의 기록을 누구에게 보여주거나 다운로드할 수 있는지 제어할 수 있도록 합니다.
- •안전한 문서 및 메타데이터 저장: 임상 문서를 메타데이터, 버전 및 실험실 및 예방접종과 같은 구조화된 데이터에 대한 포인터와 함께 업로드합니다.
- •감사 가능성 + API 유연성: 공유 이벤트와 기록 변경에 대한 감사 로그를 유지하면서 웹 및 모바일 클라이언트를 위한 REST와 GraphQL을 제공합니다.
모든 플랫폼에서 확장 가능한 저장소, 인증 및 API를 통해 프라이버시 중심의 PHR 백엔드를 신속하게 배송합니다.
핵심 혜택
데이터를 구조화하고 감사 가능하게 유지하면서 개인 정보 우선 건강 경험을 제공하는 PHR 백엔드입니다.
시장 출시 속도
임상 엔터티 및 동의 흐름을 처음부터 설계하는 대신 완전한 PHR 스키마에서 시작하십시오.
환자 우선 접근 제어
환자가 Provider와 앱에 동의를 관리하고 선택적으로 기록을 공유할 수 있도록 합니다.
상호 운용 가능한 데이터 모델
통합 및 분석을 위해 구조화된 면역 접종, 약물 및 실험실 모델을 사용합니다.
세분화된 권한
ACL/CLP 및 동의 객체를 사용하여 접근을 명시적이고 감사 가능하게 합니다.
신뢰할 수 있는 감사 추적
투명성과 규정을 위한 접근 및 공유 이벤트 기록하기.
AI 지원 부트스트랩 흐름
미리 구축된 AI 에이전트 프롬프트로 백엔드 골조 및 통합 가이드를 빠르게 생성합니다.
사용자 우선 개인 건강 기록을 구축할 준비가 되셨나요?
Back4app AI 에이전트가 귀하의 PHR 백엔드를 골조화하고 문서, 알레르기, 예방접종, 동의서 및 감사 로그를 하나의 프롬프트에서 생성하도록 하세요.
시작은 무료 — 월 50개 AI 에이전트 프롬프트, 신용카드 불필요
기술 스택
이 PHR 백엔드 템플릿에 포함된 모든 것.
ER 다이어그램
PHR 백엔드 스키마를 위한 엔티티 관계 모델입니다.
사용자가 소유한 의료 문서, 알레르기, 면역 접종, 약물, 검사 결과, 동의 및 감사 로그를 포함하는 스키마.
다이어그램 소스 보기
erDiagram
Profile ||--o{ MedicalDocument : "owns"
Profile ||--o{ Allergy : "has"
Profile ||--o{ Vaccination : "has"
Profile ||--o{ SharedAccess : "grants"
Profile ||--o{ EmergencyContact : "links to"
MedicalDocument }o--|| Profile : "profile"
Vaccination }o--|| Profile : "profile"
Allergy }o--|| Profile : "profile"
SharedAccess }o--|| Profile : "profile"
SharedAccess }o--|| _User : "grantee"
Profile {
String objectId PK
Pointer user FK
String fullName
Date birthDate
String gender
String bloodType
String primaryCareProvider
String notes
Date createdAt
Date updatedAt
}
MedicalDocument {
String objectId PK
Pointer profile FK
File file
String documentType
String title
String description
Array<String> tags
Date uploadedAt
Boolean isShared
Date createdAt
Date updatedAt
}
Allergy {
String objectId PK
Pointer profile FK
String substance
String severity
String reaction
String notes
Date recordedAt
Boolean isActive
Date createdAt
Date updatedAt
}
Vaccination {
String objectId PK
Pointer profile FK
String vaccineName
Date dateAdministered
String dose
String lotNumber
String provider
Date nextDoseDate
Pointer proofDocument FK
Date createdAt
Date updatedAt
}
SharedAccess {
String objectId PK
Pointer profile FK
Pointer grantee FK
String accessLevel
Array<String> scope
Date expiresAt
Pointer createdBy FK
Date createdAt
Date updatedAt
}
EmergencyContact {
String objectId PK
Pointer profile FK
String name
String relationship
String phone
String notes
Date createdAt
Date updatedAt
}
AuditLog {
String objectId PK
Pointer actor FK
String entityType
String entityId
String action
String summary
Object metadata
Date createdAt
Date updatedAt
}
통합 흐름
인증, 기록 접근, 문서 업로드, 동의 부여, 그리고 감사 로그 기록을 위한 일반적인 실행 흐름.
다이어그램 소스 보기
sequenceDiagram
participant User
participant App as Personal Health Record (PHR) App
participant Back4app as Back4app Cloud
User->>App: Login with email (patient) or OAuth (clinician)
App->>Back4app: POST /login
Back4app-->>App: Session token + user profile
User->>App: List my vaccinations and allergies
App->>Back4app: GET /classes/Vaccination?where={"profile":{"__type":"Pointer","className":"Profile","objectId":"profileId"}}
Back4app-->>App: Vaccination and Allergy records
User->>App: Upload lab result PDF
App->>Back4app: POST /files -> create MedicalDocument with file pointer
Back4app-->>App: File object + MedicalDocument.objectId
User->>App: Share record with Dr. Lee for 48h
App->>Back4app: POST /classes/SharedAccess with accessLevel and expiresAt
Back4app-->>App: SharedAccess.objectId + notification
Back4app-->>App: Live Query event: MedicalDocument updated by clinician
App-->>User: Notify patient in-app / refresh documents list데이터 사전
PHR 스키마의 모든 클래스에 대한 필드 수준의 전체 참조.
| 필드 | 유형 | 설명 | 필수 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 자동 |
| user | Pointer<_User> | Linked Back4app user account (patient or caregiver) | |
| fullName | String | Patient full name | |
| birthDate | Date | Date of birth | — |
| gender | String | Gender identity | — |
| bloodType | String | Blood type (e.g. A+, O-) | — |
| primaryCareProvider | String | Name or clinic of primary care provider | — |
| notes | String | Free-text health notes or summary | — |
| createdAt | Date | Auto-generated creation timestamp | 자동 |
| updatedAt | Date | Auto-generated last-update timestamp | 자동 |
10 필드가 Profile에 있습니다.
보안 및 권한
ACL, CLP, 동의 객체 및 Cloud Code가 개인 건강 기록 및 공유를 어떻게 보호하는지.
환자 소유의 기록
소유권 및 ACL을 설정하여 HealthDocument, Allergy, Immunization, Medication 및 LabResult 항목이 기록 소유자와 권한이 있는 Provider만 읽고 쓸 수 있도록 합니다.
동의 기반 공유
Provider에 명시적인 범위와 만료를 부여하여 접근을 허용하도록 Consent 클래스를 사용하세요; Cloud Code는 읽기/다운로드 엔드포인트에서 동의 확인을 시행합니다.
추가 전용 감사 로그
표준 사용자를 위한 AuditLog 항목을 추가 전용으로 유지하세요; 신뢰할 수 있는 백엔드 흐름이나 관리자가만 역사적 로그를 작성하거나 관리할 수 있습니다.
스키마 (JSON)
Back4app에 복사할 준비가 된 원시 JSON 스키마 정의 또는 구현 참조로 사용할 수 있습니다.
{
"classes": [
{
"className": "Profile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"fullName": {
"type": "String",
"required": true
},
"birthDate": {
"type": "Date",
"required": false
},
"gender": {
"type": "String",
"required": false
},
"bloodType": {
"type": "String",
"required": false
},
"primaryCareProvider": {
"type": "String",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MedicalDocument",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"file": {
"type": "File",
"required": true
},
"documentType": {
"type": "String",
"required": true
},
"title": {
"type": "String",
"required": true
},
"description": {
"type": "String",
"required": false
},
"tags": {
"type": "Array",
"required": false
},
"uploadedAt": {
"type": "Date",
"required": true
},
"isShared": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Allergy",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"substance": {
"type": "String",
"required": true
},
"severity": {
"type": "String",
"required": true
},
"reaction": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"recordedAt": {
"type": "Date",
"required": true
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Vaccination",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"vaccineName": {
"type": "String",
"required": true
},
"dateAdministered": {
"type": "Date",
"required": true
},
"dose": {
"type": "String",
"required": false
},
"lotNumber": {
"type": "String",
"required": false
},
"provider": {
"type": "String",
"required": false
},
"nextDoseDate": {
"type": "Date",
"required": false
},
"proofDocument": {
"type": "Pointer",
"required": false,
"targetClass": "MedicalDocument"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SharedAccess",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"grantee": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"accessLevel": {
"type": "String",
"required": true
},
"scope": {
"type": "Array",
"required": false
},
"expiresAt": {
"type": "Date",
"required": false
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "EmergencyContact",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"name": {
"type": "String",
"required": true
},
"relationship": {
"type": "String",
"required": true
},
"phone": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AuditLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"actor": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"entityType": {
"type": "String",
"required": true
},
"entityId": {
"type": "String",
"required": true
},
"action": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"metadata": {
"type": "Object",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AI 에이전트로 빌드하기
Back4app AI 에이전트를 사용하여 이 템플릿에서 실제 개인 건강 기록 앱을 생성하세요. 여기에는 프론트엔드, 백엔드, 인증 및 동의 워크플로우가 포함됩니다.
Back4app에서 이 정확한 스키마와 동작으로 개인 건강 기록 (PHR) 백엔드를 만듭니다. 스키마: 1. HealthDocument: 소유자 (사용자에 대한 포인터, 필수), 제목 (문자열, 필수), 파일 (파일, 필수), 태그 (배열, 선택 사항), 버전 (숫자, 기본값 1), 생성일, 수정일 (시스템). 2. Allergy: 소유자 (사용자에 대한 포인터, 필수), 물질 (문자열, 필수), React온 (문자열, 선택 사항), 심각도 (문자열: 경증, 중증, 심각, 필수), 발병일 (날짜, 선택 사항). 3. Immunization: 소유자 (사용자에 대한 포인터, 필수), 백신명 (문자열, 필수), 투여일 (날짜, 필수), 로트번호 (문자열, 선택 사항), Provider (__(BRAND4__), 선택 사항). 4. Medication: 소유자 (사용자에 대한 포인터, 필수), 이름 (문자열, 필수), 용량 (문자열, 선택 사항), 빈도 (문자열, 선택 사항), 지침 (문자열, 선택 사항), 활성 (부울, 기본값 true). 5. LabResult: 소유자 (사용자에 대한 포인터, 필수), 검사명 (문자열, 필수), 값 (숫자 또는 문자열), 단위 (문자열, 선택 사항), 기준 범위 (문자열, 선택 사항), 날짜 (날짜, 필수), 첨부 파일 (HealthDocument에 대한 포인터, 선택 사항). 6. Provider: 이름 (문자열, 필수), 시스템 ID (문자열, 선택 사항), 연락처 (객체, 선택 사항). 7. Consent: 소유자 (사용자에 대한 포인터, 필수), Provider (__(BRAND7__), 필수), 범위 (문자열 배열: [문서, 알레르기, 예방접종, 약물, 실험실]), 만료일 (날짜, 선택 사항), 부여자 (사용자 또는 시스템에 대한 포인터). 8. AuditLog: 행위자 (사용자에 대한 포인터, 필수), 행동 (문자열, 필수), 엔터티 유형 (문자열, 필수), 엔터티 ID (문자열, 필수), 페이로드 (객체, 선택 사항); 생성일, 수정일 (시스템). 보안: - ACL/CLP를 사용하여 소유자와 동의한 Provider만 기록에 접근합니다. 클라우드 코드는 Provider 읽기/다운로드를 허용하기 전에 동의를 확인합니다. 감사 로그 항목은 표준 사용자에게는 추가 전용입니다. 인증: - 사용자 계정을 위한 가입, 로그인, 로그아웃. 제한된 권한으로 Provider 계정을 지원합니다. 동작: - 인증, 사용자 기록 나열, HealthDocument 업로드, 구조화된 Allergy/Immunization/Medication/LabResult 항목 생성, 선택된 기록을 Provider와 공유하기 위한 동의 생성, 중요한 사건에 대한 감사 로그 항목 작성. 제공: - 스키마가 포함된 Back4app 앱, ACL 및 CLP; 안전한 문서 저장소, 알레르기 및 예방접종 타임라인, 약물 목록, 실험 결과 보기(Provider 동의 흐름 및 감사 기록 포함).
아래 버튼을 눌러 이 템플릿 프롬프트가 미리 채워진 상태로 에이전트를 엽니다.
이것은 기술 접미사가 없는 기본 프롬프트입니다. 생성된 프론트엔드 스택을 나중에 수정할 수 있습니다.
API 놀이터
PHR 스키마에 대해 REST 및 GraphQL 엔드포인트를 사용해 보세요. 응답은 모의 데이터를 사용하며 Back4app 계정이 필요하지 않습니다.
이 템플릿과 동일한 스키마를 사용합니다.
기술 선택
각 카드를 확장하여 통합 단계, 상태 패턴, 데이터 모델 예제 및 오프라인 메모를 확인하십시오.
Flutter PHR 백엔드
React PHR 백엔드
React 네이티브 PHR 백엔드
Next.js PHR 백엔드
JavaScript PHR 백엔드
Android PHR 백엔드
iOS PHR 백엔드
Vue PHR 백엔드
Angular PHR 백엔드
GraphQL PHR 백엔드
REST API PHR 백엔드
PHP PHR 백엔드
.NET PHR 백엔드
모든 기술로 얻는 것
모든 스택은 동일한 PHR 백엔드 스키마 및 API 계약을 사용합니다.
통합된 개인 건강 기록 데이터 구조
의료 문서 및 기록을 위한 사전 구축된 스키마.
개인 건강 기록에 대한 안전한 공유
Provider와 건강 정보를 쉽게 공유하면서 개인 정보를 보장합니다.
개인 건강 기록에 대한 포괄적인 감사 로그
민감한 건강 데이터에 대한 모든 접근 및 변경 사항을 추적합니다.
REST/GraphQL API를 통한 개인 건강 기록
다양한 프론트 엔드와 원활하게 통합할 수 있는 유연한 API 접근.
개인 건강 기록에 대한 실시간 업데이트
건강 기록 및 상태 변경에 대한 즉각적인 알림.
개인 건강 기록에 대한 확장성
특정 요구에 맞게 사용자 지정 기능 및 모듈을 쉽게 추가합니다.
개인 건강 기록 프레임워크 비교
지원되는 모든 기술에 대해 설정 속도, SDK 스타일 및 AI 지원을 비교합니다.
| 프레임워크 | 설정 시간 | 개인 건강 기록의 이점 | SDK 유형 | AI 지원 |
|---|---|---|---|---|
| 5분 이하 | 모바일 및 웹에서 개인 건강 기록을 위한 단일 코드베이스. | Typed SDK | 전체 | |
| ~3–7분 | 개인 건강 기록을 위한 빠른 웹 대시보드. | Typed SDK | 전체 | |
| 빠른 (5분) 설정 | 개인 건강 기록을 위한 크로스 플랫폼 모바일 앱. | Typed SDK | 전체 | |
| ~5분 | 개인 건강 기록을 위한 서버 렌더링 웹 앱. | Typed SDK | 전체 | |
| ~3분 | 개인 건강 기록을 위한 경량 웹 통합. | Typed SDK | 전체 | |
| 5분 이하 | Android의 개인 건강 기록을 위한 네이티브 앱. | Typed SDK | 전체 | |
| ~3–7분 | iOS의 개인 건강 기록을 위한 네이티브 앱. | Typed SDK | 전체 | |
| 빠른 (5분) 설정 | Reactive 웹 UI를 통한 개인 건강 기록. | Typed SDK | 전체 | |
| ~5분 | 개인 건강 기록을 위한 엔터프라이즈 웹 앱. | Typed SDK | 전체 | |
| 빠른 (2분) 설정 | 개인 건강 기록을 위한 유연한 GraphQL API. | GraphQL API | 전체 | |
| ~2분 | REST API 통합을 통한 개인 건강 기록. | REST API | 전체 | |
| 5분 이하 | 개인 건강 기록을 위한 서버 측 PHP 백엔드. | REST API | 전체 | |
| 빠른 (5분) 설정 | .NET 백엔드로 개인 건강 기록. | Typed SDK | 전체 |
설치 시간은 프로젝트 부트스트랩부터 이 템플릿 스키마를 사용한 첫 문서 업로드 및 동의 흐름까지의 예상 기간을 반영합니다.
자주 묻는 질문
이 템플릿을 사용하여 개인 건강 기록 백엔드를 구축하는 것에 대한 일반적인 질문입니다.