MediLake
계정 확인 중…

API Docs

USDM SDR-호환 외부 읽기 API. 인증 없이 호출 가능합니다. Base URL: https://your-host

GET
/api/public/sdr-versionssdr-versions

study_key의 모든 업로드 버전 목록 (최신 내림차순).

Query params

NameTypeRequiredDescription
studyIdstringyesstudy_key 값

cURL

curl 'https://your-host/api/public/sdr-versions?studyId=STUDY-001'

예시 응답

{
  "studyId": "STUDY-001",
  "versions": [
    {
      "v": 2,
      "status": "stored",
      "schemaValid": true,
      "conformanceStatus": "skipped",
      "title": "A Phase 2 Study of …",
      "createdAt": "2026-06-01T10:00:00Z"
    },
    {
      "v": 1,
      "status": "stored",
      "schemaValid": true,
      "conformanceStatus": "skipped",
      "title": "A Phase 2 Study of …",
      "createdAt": "2026-05-20T08:30:00Z"
    }
  ]
}
POST
/api/public/sdr-searchsdr-search

스터디 검색. 각 결과는 최신 버전 기준의 study 봉투(envelope)와 관련 링크를 포함합니다.

JSON body

NameTypeRequiredDescription
qstringno이름(name) 부분 일치
sponsorstringnosponsor_name 정확 일치
phasestringnostudy_phase 정확 일치
typestringnostudy_type 정확 일치
pagenumberno기본 1
pageSizenumberno기본 20, 최대 100

cURL

curl -X POST 'https://your-host/api/public/sdr-search' \
  -H 'Content-Type: application/json' \
  -d '{"q":"study"}'

예시 응답

{
  "results": [
    {
      "study": {
        "studyId": "STUDY-001",
        "v": 2,
        "name": "Acme-001",
        "title": "A Phase 2 Study of …",
        "protocolId": "ACM-001",
        "sponsor": "Acme Pharma",
        "phase": "Phase 2",
        "type": "Interventional",
        "status": "stored",
        "schemaValid": true,
        "conformanceStatus": "skipped",
        "counts": {
          "arms": 2,
          "epochs": 3,
          "visits": 12,
          "activities": 18,
          "objectives": 5,
          "eligibility": 9
        },
        "createdAt": "2026-06-01T10:00:00Z"
      },
      "links": {
        "self": "/api/public/sdr-study?studyId=STUDY-001&v=2",
        "soa": "/api/public/sdr-soa?studyId=STUDY-001&v=2",
        "versions": "/api/public/sdr-versions?studyId=STUDY-001",
        "revisions": "/api/public/sdr-revisions?studyId=STUDY-001"
      }
    }
  ],
  "page": 1,
  "pageSize": 20,
  "total": 1
}
GET
/api/public/sdr-studysdr-study

단일 스터디 버전의 메타데이터 + 링크. 없으면 {notFound:true}.

Query params

NameTypeRequiredDescription
studyIdstringyesstudy_key 값
vnumberno버전, 생략 시 최신

cURL

curl 'https://your-host/api/public/sdr-study?studyId=STUDY-001&v=2'

예시 응답

{
  "study": {
    "studyId": "STUDY-001",
    "v": 2,
    "name": "Acme-001",
    "title": "A Phase 2 Study of …",
    "protocolId": "ACM-001",
    "sponsor": "Acme Pharma",
    "phase": "Phase 2",
    "type": "Interventional",
    "status": "stored",
    "schemaValid": true,
    "conformanceStatus": "skipped",
    "counts": {
      "arms": 2,
      "epochs": 3,
      "visits": 12,
      "activities": 18,
      "objectives": 5,
      "eligibility": 9
    },
    "createdAt": "2026-06-01T10:00:00Z"
  },
  "links": {
    "self": "/api/public/sdr-study?studyId=STUDY-001&v=2",
    "soa": "/api/public/sdr-soa?studyId=STUDY-001&v=2",
    "versions": "/api/public/sdr-versions?studyId=STUDY-001",
    "revisions": "/api/public/sdr-revisions?studyId=STUDY-001"
  }
}
GET
/api/public/sdr-soasdr-soa

Schedule of Activities. mainTimeline 우선 + sub-timeline. matrix는 {activityId:{columnId:true}} 형태.

Query params

NameTypeRequiredDescription
studyIdstringyesstudy_key
vnumberno버전, 생략 시 최신

cURL

curl 'https://your-host/api/public/sdr-soa?studyId=STUDY-001&v=2'

예시 응답

{
  "studyId": "STUDY-001",
  "v": 2,
  "scheduleTimelineSoA": [
    {
      "timelineId": "TL-main",
      "name": "Main Schedule",
      "isMain": true,
      "columns": [
        {
          "id": "VI-1",
          "label": "Screening",
          "sequence": 0,
          "kind": "activity",
          "encounterLabel": "Screening"
        },
        {
          "id": "VI-2",
          "label": "Day 1",
          "sequence": 1,
          "kind": "activity",
          "encounterLabel": "Day 1"
        }
      ],
      "rows": [
        {
          "id": "ACT-1",
          "label": "Informed consent"
        },
        {
          "id": "ACT-2",
          "label": "Vital signs"
        }
      ],
      "matrix": {
        "ACT-1": {
          "VI-1": true
        },
        "ACT-2": {
          "VI-1": true,
          "VI-2": true
        }
      }
    }
  ]
}
GET
/api/public/sdr-revisionssdr-revisions

study의 개정(업로드) 이력. sdr-versions와 동일한 행을 revisions 키로 노출.

Query params

NameTypeRequiredDescription
studyIdstringyesstudy_key

cURL

curl 'https://your-host/api/public/sdr-revisions?studyId=STUDY-001'

예시 응답

{
  "studyId": "STUDY-001",
  "revisions": [
    {
      "v": 2,
      "status": "stored",
      "schemaValid": true,
      "conformanceStatus": "skipped",
      "title": "…",
      "createdAt": "2026-06-01T10:00:00Z"
    },
    {
      "v": 1,
      "status": "stored",
      "schemaValid": true,
      "conformanceStatus": "skipped",
      "title": "…",
      "createdAt": "2026-05-20T08:30:00Z"
    }
  ]
}