Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
37 KiB
*REDCap鈭峕活撘<EFBFBD><EFBFBD>烐楛摨衣<EFBFBD>蝛嗆𥁒<EFBFBD>𠺪<EFBFBD><EFBFBD>嗆<EFBFBD>雿梶頂<EFBFBD><EFBFBD>宏<EFBFBD>函垢鈭支<EFBFBD>銝擧<EFBFBD>雿喳<EFBFBD>頝萄<EFBFBD><EFBFBD>航圾<EFBFBD>?
*1. <20>扯<EFBFBD><E689AF>䁅<EFBFBD>銝擧沲<E693A7><E6B2B2><EFBFBD><EFBFBD>?
Research Electronic Data Capture (REDCap) 撌脩<E6928C>隞𦒘<E99A9E>銝芸<E98A9D>銝<EFBFBD><E98A9D><EFBFBD>㺭<EFBFBD>格𤣰<E6A0BC><F0A4A3B0>極<EFBFBD>瑟<EFBFBD><E7919F>䀝蛹銝<E89BB9>銝芾<E98A9D>憭<EFBFBD>𣈲<EFBFBD><F0A388B2><EFBFBD><EFBFBD><EFBFBD>葩摨𡃏<E691A8>撉䎚<E69289><E48E9A><EFBFBD><EFBFBD>亙極雿𨀣<E99BBF><F0A880A3>𣬚熊<F0A3AC9A>𤑳<EFBFBD>蝛嗥<E89D9B>撘箏之<E7AE8F><E4B98B><EFBFBD><EFBFBD>頂蝏麄<E89D8F><E9BA84>蒾<EFBFBD>嗉<EFBFBD>敺瑕嵗憭批郎嚗Āanderbilt University嚗匧<E59A97><E58CA7>𤑳<EFBFBD><F0A491B3>詨<EFBFBD>摨𠉛鍂蝔见<E89D94><E8A781>𣂷<EFBFBD>鈭<EFBFBD><E988AD>憟堒<E6869F><E5A092><EFBFBD><EFBFBD>靚<EFBFBD>䰻蝞∠<E89D9E><E288A0>峕㺭<E5B395>桀<EFBFBD><E6A180>亙極<E4BA99>瘀<EFBFBD>雿<EFBFBD>笆鈭𦒘<E988AD>銝𡁶漣<F0A181B6>𠉛弦<F0A0899B><E5BCA6><EFBFBD><EFBFBD><EFBFBD>葩摨𦠜㺭<F0A6A09C>桃恣<E6A183><E681A3><EFBFBD>諹<EFBFBD>嚗朙EDCap<61><70>迤<EFBFBD><E8BFA4><EFBFBD><EFBFBD>𥕦銁鈭𤾸<E988AD><F0A4BEB8>靝<EFBFBD>甈∪<E79488><E288AA>爗<EFBFBD>肽<EFBFBD><E882BD>䜘<EFBFBD><E49C98><EFBFBD>銝<EFBFBD><E98A9D>航祗瘨萇<E798A8>鈭<EFBFBD><E988AD>朞<EFBFBD>憭㚚<E686AD>璅∪<E79285>嚗𠄌xternal Module, EM嚗㗇<E59A97><E39787>嗚<EFBFBD><E5979A><EFBFBD><EFBFBD>函<EFBFBD>摨讐<E691A8>蝔𧢲𦻖<F0A7A2B2><F0A6BB96><EFBFBD>API嚗剹<E59A97><E589B9>㺭<EFBFBD>桀<EFBFBD><E6A180>亥圻<E4BAA5>穃膥嚗㇄ET嚗劐誑<E58A90>𦠜<EFBFBD><F0A6A09C>䟕EDCap蝘餃𢆡摨𠉛鍂蝔见<E89D94><E8A781>愢yCap<61><70>宏<EFBFBD>券<EFBFBD><E588B8>鞟<EFBFBD><E99E9F>亙笆REDCap餈𥡝<E9A488><F0A5A19D><EFBFBD><EFBFBD>摨誩<E691A8><E8AAA9>拙<EFBFBD>1<EFBFBD>? <0A>祆𥁒<E7A586>𦠜秄<F0A6A09C>冽<EFBFBD>靘𥕦<E99D98>鈭竃EDCap鈭峕活撘<E6B4BB><E69298>𤑳<EFBFBD>霂血偷<E8A180><E581B7><EFBFBD>臬<EFBFBD><E887AC>僐<EFBFBD><E58390><EFBFBD>銝滢<E98A9D><E6BBA2>Z悄鈭<E68284>沲<EFBFBD><E6B2B2><EFBFBD><EFBFBD>單辺隞嗚<E99A9E><E5979A><EFBFBD><EFBFBD>抒<EFBFBD><E68A92>雴辣嚗㇊lugin嚗匧<E59A97><E58CA7>唬誨憭㚚<E686AD>璅∪<E79285>獢<EFBFBD>沲<EFBFBD><E6B2B2><EFBFBD>皜~<E79A9C><EFBD9E><EFBFBD><EFBFBD>函<EFBFBD><E587BD><EFBFBD><EFBFBD>頝蛛<E9A09D>餈䀹楛<E480B9>亙<EFBFBD><E4BA99>𣂷<EFBFBD>蝘餃𢆡蝡臬<E89DA1>甇亦<E79487>憭齿<E686AD><E9BDBF>箏<EFBFBD><E7AE8F><EFBFBD>迨憭吔<E686AD><E59094>亙<EFBFBD>霂衣<E99C82><E8A1A3>堒枂鈭<E69E82>鸌摰𡁶<E691B0>皞𣂷誨<F0A382B7><E8AAA8>芋撘𧶏<E69298><F0A7B68F><EFBFBD><EFBFBD>鈭<EFBFBD>虜閫<E8999C><E996AB><EFBFBD>琿𩐠嚗<F0A990A0>朖撘<E69C96><E69298>睲葉<E79DB2><E89189><EFBFBD>𨅯<EFBFBD><F0A885AF>嘅<EFBFBD>嚗<EFBFBD>僎<EFBFBD>𣂷<EFBFBD>鈭<EFBFBD>銁摰𡁜<E691B0><F0A1819C>蠘<EFBFBD><E8A098>嗥輕<E597A5>斤頂蝏笔<E89D8F><E7AC94>湔<EFBFBD>抒<EFBFBD><E68A92><EFBFBD>雿喳<E99BBF>頝萸<E9A09D>?
*1.1 <20>𠉛<EFBFBD>璅∪<E79285>銝擧<E98A9D><E693A7><EFBFBD>挪<EFBFBD>格<EFBFBD><E6A0BC>鞟<EFBFBD><E99E9F>寞<EFBFBD><E5AF9E>?
銝𦒘<EFBFBD>蝏毺<EFBFBD>撘<EFBFBD>皞鞱蔓隞嗡<EFBFBD><EFBFBD>䕘<EFBFBD>REDCap<EFBFBD>其<EFBFBD>蝘滨𡠺<EFBFBD>寧<EFBFBD>蝞∠<EFBFBD>璅∪<EFBFBD>銝贝<EFBFBD>銵䎚<EFBFBD><EFBFBD><EFBFBD>撖寥<EFBFBD><EFBFBD>亙⏚蝏<EFBFBD><EFBFBD><EFBFBD>滩晶<EFBFBD>𣂷<EFBFBD>嚗䔶<EFBFBD>撟園<EFBFBD><EFBFBD>砍<EFBFBD>憸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>皞鞱蔓隞嗚<EFBFBD><EFBFBD>蛹鈭<EFBFBD>繮敺𦯀<EFBFBD>甈∪<EFBFBD><EFBFBD>烐<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞<EFBFBD><EFBFBD>嚗𣬚<EFBFBD>蝏<EFBFBD><EFBFBD>憿駁<EFBFBD>朞<EFBFBD>銝舘<EFBFBD>敺瑕嵗憭批郎蝑曄蔡<EFBFBD><EFBFBD>蝏<EFBFBD>鍂<EFBFBD>瑁捂<EFBFBD>臬<EFBFBD>霈殷<EFBFBD>EULA嚗匧<EFBFBD><EFBFBD>充EDCap<EFBFBD>𠉛<EFBFBD>3<EFBFBD>? 餈嗵<E9A488><E597B5>箏<EFBFBD>撖孵<E69296><E5ADB5>𤏸<EFBFBD><F0A48FB8>秐<EFBFBD>喲<EFBFBD>閬<EFBFBD><E996AC><EFBFBD><EFBFBD>隞<EFBFBD><E99A9E><EFBFBD>䭾<EFBFBD><E4ADBE>沁itHub蝑匧<E89D91><E58CA7>勗<EFBFBD><E58B97>典<EFBFBD>銝凋誑<E5878B>航<EFBFBD>銵𣬚<E98AB5><F0A3AC9A>澆<EFBFBD><E6BE86>瑕<EFBFBD>嚗𥕢艇<F0A595A2>潭䔉霂湛<E99C82><E6B99B>詨<EFBFBD>隞<EFBFBD><E99A9E>摨𤘪糓<F0A498AA>𠉛<EFBFBD><F0A0899B><EFBFBD><EFBFBD><EFBFBD>㕑揣鈭扼<E988AD><E689BC><EFBFBD><EFBFBD>䕘<EFBFBD><E49598>拙<EFBFBD><E68B99>箏<EFBFBD><E7AE8F>婙<EFBFBD>𠉛鸌<F0A0899B>急糓憭㚚<E686AD>璅∪<E79285>獢<EFBFBD>沲<EFBFBD>婙<EFBFBD>娍糓<E5A88D>砍<EFBFBD><E7A08D><EFBFBD>﹝<EFBFBD>𣇉<EFBFBD>嚗䔶<E59A97>蝷曉躹<E69B89>朞<EFBFBD>REDCap Repo<70><6F>澈鈭<E6BE88>㺭<EFBFBD>曆葵璅∪<E79285>1<EFBFBD><31>蛹鈭<E89BB9><E988AD>銵峕楛摨衣<E691A8>鈭峕活撘<E6B4BB><E69298>𡢅<EFBFBD>撘<EFBFBD><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD>𡁜虜<F0A1819C><E8999C>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>冽㦤<E586BD><E3A6A4><EFBFBD>REDCap蝞∠<E89D9E><E288A0>䀹<EFBFBD>鈭<EFBFBD>𧋦<EFBFBD>唳<EFBFBD><E594B3>∪膥霈輸䔮<E8BCB8><E494AE><EFBFBD>嚗䔶誑靘踵<E99D98><E8B8B5>交瓲敹<E793B2>HP<48><50>辣<EFBFBD>諹<EFBFBD>銵諹<E98AB5>霂?<3F>?
1.2 <20><><EFBFBD>舀沲<E88880><E6B2B2><EFBFBD>LAMP<4D><50><EFBFBD>EAV璅∪<E79285>
鈭峕活撘<EFBFBD><EFBFBD>𤏸<EFBFBD>瘙<EFBFBD>笆REDCap<EFBFBD><EFBFBD><EFBFBD>撅<EFBFBD>抅蝖<EFBFBD>霈暹鴌<EFBFBD>㗇楛<EFBFBD>餌<EFBFBD><EFBFBD><EFBFBD>圾<EFBFBD><EFBFBD>EDCap<EFBFBD><EFBFBD>遣<EFBFBD>汪AMP<EFBFBD><EFBFBD><EFBFBD>銝𠺪<EFBFBD>
- *Linux/Windows嚗? <20>条恣摨𠉛鍂蝔见<E89D94><E8A781><EFBFBD><EFBFBD>雿𦦵頂蝏麄<E89D8F>?
- *Apache/IIS/Nginx嚗? 憭<><E686AD>HTTP霂瑟<E99C82><E7919F><EFBFBD>eb<65>滚𦛚<E6BB9A>具<EFBFBD>?
- *MySQL/MariaDB嚗? <20>喟頂<E5969F>𧢲㺭<F0A7A2B2>桀<EFBFBD>蝞∠<E89D9E>蝟餌<E89D9F><E9A48C>?
- *PHP嚗? <20>其<EFBFBD><E585B6>詨<EFBFBD><E8A9A8>餉<EFBFBD><E9A489>峕<EFBFBD>撅閧<E69285><E996A7>滚𦛚<E6BB9A>函垢<E587BD>𡁏𧋦霂剛<E99C82><E5899B>? REDCap鋡急<E98BA1>餈唬蛹<E594AC>𡏭蝠<F0A18FAD>讐漣<E8AE90>嘅<EFBFBD><E59885>𡁜虜<F0A1819C><E8999C>閬<EFBFBD>eb<65>滚𦛚<E6BB9A>典<EFBFBD><E585B8>祉<EFBFBD><E7A589><EFBFBD>㺭<EFBFBD>桀<EFBFBD><E6A180>滚𦛚<E6BB9A>具<EFBFBD><E585B7>笆鈭擧<E988AD><E693A7><EFBFBD>蝙<EFBFBD>剁<EFBFBD>Web<65>滚𦛚<E6BB9A>典<EFBFBD><E585B8>唳旿摨枏<E691A8><E69E8F><EFBFBD><EFBFBD>10GB<47><42><EFBFBD><EFBFBD>函征<E587BD>湧<EFBFBD>𡁜虜頞喃誑<E59683>舀<EFBFBD>蝚砌<E89D9A>撟渡<E6929F>擃睃撩摨虫蝙<E899AB>?<3F><><EFBFBD><EFBFBD>䕘<EFBFBD>鈭峕活撘<E6B4BB><E69298>穃<EFBFBD>敺<EFBFBD>隡𡁜蒂<F0A1819C>交凒擃条<E69383>韏<EFBFBD><E99F8F><EFBFBD><EFBFBD>瘙<EFBFBD><E79899><EFBFBD><EFBFBD>銵<EFBFBD><E98AB5><EFBFBD><EFBFBD>䰻霂X<E99C82><EFBCB8>朞<EFBFBD>API憭<49><E686AD>憭扳㺭<E689B3>桃<EFBFBD><E6A183>芸<EFBFBD>銋㗇芋<E39787>堒<EFBFBD><E5A092>𨀣𧊋蝏讛<E89D8F>隡睃<E99AA1>嚗<EFBFBD>虾<EFBFBD>賭<EFBFBD>蝏蹱㺭<E8B9B1>桀<EFBFBD>撣行䔉撌典之<E585B8>见<EFBFBD><E8A781>? <0A>唳旿摨𤘪芋撘譍蜓閬<E89C93><E996AC><EFBFBD>典<EFBFBD>雿?撅墧<E69285>?<3F>潘<EFBFBD>Entity-Attribute-Value, EAV嚗㗇芋<E39787>页<EFBFBD><E9A1B5>孵<EFBFBD><E5ADB5>盍edcap_data銵剁<E98AB5>摰<EFBFBD>誑<EFBFBD>剔<EFBFBD><E58994><EFBFBD>熊<EFBFBD>烐聢撘𧶏<E69298>record_id, project_id, field_name, value嚗匧<E59A97><E58CA7>函<EFBFBD>憭折<E686AD><E68A98><EFBFBD>★<EFBFBD>格㺭<E6A0BC>柴<EFBFBD><E69FB4><EFBFBD>銝<EFBFBD><E98A9D>嗆<EFBFBD><E59786>喟<EFBFBD><E5969F><EFBFBD>捂<EFBFBD>其<EFBFBD><E585B6>湔㺿<E6B994>唳旿摨𤘪芋撘讐<E69298><E8AE90><EFBFBD><EFBFBD>銝𧢲<E98A9D><F0A7A2B2><EFBFBD>𧑐<EFBFBD>𥕦遣<F0A595A6><E981A3>㺭<EFBFBD>桅店<E6A185>函<EFBFBD>銵典<E98AB5>嚗䔶<E59A97>餈蹱遬<E8B9B1>堒<EFBFBD><E5A092>牐<EFBFBD>鈭峕活撘<E6B4BB><E69298>睲葉<E79DB2>湔𦻖SQL<51>亥砭<E4BAA5><E7A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD>𤏸<EFBFBD><F0A48FB8><EFBFBD>憿餃<E686BF>敹<EFBFBD>𧑐瘚讛<E7989A>甇斗芋撘譍誑<E8AD8D>踹<EFBFBD><E8B8B9>扯<EFBFBD>銝钅<E98A9D><E99285>?
---
2. 憭㚚<E686AD>璅∪<E79285>獢<EFBFBD>沲嚗𠄌xternal Module Framework嚗㚁<E59A97>摰𡁜<E691B0><F0A1819C>𣇉<EFBFBD><F0A38789>唬誨<E594AC><E8AAA8><EFBFBD>
<EFBFBD><EFBFBD>蟮銝𠺪<EFBFBD>REDCap<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗆糓<EFBFBD>朞<EFBFBD><EFBFBD>𣿯ooks嚗<EFBFBD>偬摮琜<EFBFBD><EFBFBD>嘥<EFBFBD><EFBFBD>憕lugins嚗<EFBFBD><EFBFBD>隞塚<EFBFBD><EFBFBD>嘥<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>婙<EFBFBD>𥪜朖<EFBFBD>湔𦻖瘜典<EFBFBD>Web<EFBFBD>滚𦛚<EFBFBD>冽<EFBFBD>隞嗉楝敺<EFBFBD><EFBFBD><EFBFBD>𡁏𧋦<EFBFBD><EFBFBD>蒾<EFBFBD>嗉<EFBFBD>蝘齿䲮瘜閙<EFBFBD><EFBFBD><EFBFBD><EFBFBD>雿<EFBFBD><EFBFBD><EFBFBD>𧼮虜<EFBFBD><EFBFBD>摹嚗𢡱EDCap<EFBFBD>詨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝥抒<EFBFBD>撣詨紡<EFBFBD>游<EFBFBD><EFBFBD>嗅<EFBFBD><EFBFBD>賢仃<EFBFBD><EFBFBD><EFBFBD>銝磰楊憭帋葵憿寧𤌍蝞∠<EFBFBD><EFBFBD><EFBFBD>𧋦<EFBFBD>刻<EFBFBD><EFBFBD>蹂<EFBFBD><EFBFBD>舐<EFBFBD><EFBFBD>鞟<EFBFBD>9<EFBFBD>? **憭㚚<E686AD>璅∪<E79285>嚗𠄌xternal Module, EM嚗㗇<E59A97><E39787>?*<2A><><EFBFBD><EFBFBD>亙蝠摨閙㺿<E99699>䀝<EFBFBD>鈭峕活撘<E6B4BB><E69298>𤑳<EFBFBD><F0A491B3>澆<EFBFBD><E6BE86><EFBFBD><EFBFBD>撠<EFBFBD>䌊摰帋<E691B0>隞<EFBFBD><E99A9E>撠<EFBFBD><E692A0><EFBFBD>典蒂<E585B8><E89282>𧋦<EFBFBD><F0A78BA6><EFBFBD>銝哨<E98A9D><E593A8>臭誑<E887AD>典<EFBFBD><E585B8>舐鍂<E88890>𡝗<EFBFBD>憿寧𤌍<E5AFA7>舐鍂嚗<E98D82>僎<EFBFBD>朞<EFBFBD><E69C9E>曉耦<E69B89>冽<EFBFBD><E586BD>屸𢒰嚗𠃑UI嚗㕑<E59A97>銵𣬚恣<F0A3AC9A><E681A3><EFBFBD>銝磰<E98A9D><E7A3B0>刻<EFBFBD><E588BB>笔<EFBFBD><E7AC94>曹澈1<E6BE88>?
2.1 憭㚚<E686AD>璅∪<E79285><E288AA><EFBFBD>圾<EFBFBD>硋郎蝏𤘪<E89D8F>
銝<EFBFBD>銝芸<EFBFBD><EFBFBD>冽芋<EFBFBD>埈糓雿滢<EFBFBD><redcap-root>/modules/<2F>桀<EFBFBD>銝讠<E98A9D><E8AEA0><EFBFBD>辣<EFBFBD><E8BEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>賢<EFBFBD>蝥血<E89DA5><E8A180>𧼮虜銝交聢嚗䨵<prefix>_v<version_number><3E><><EFBFBD>憒<EFBFBD><E68692>銝<EFBFBD>銝芰眏<E88AB0>滨<EFBFBD>銝算<E98A9D>𦣇ompany<6E>萘<EFBFBD>撘<EFBFBD><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD><EFBFBD>𤑳<EFBFBD><F0A491B3>滢蛹<E6BBA2>𣿯ello World<6C>萘<EFBFBD>璅∪<E79285><E288AA>航<EFBFBD>雿滢<E99BBF>modules/company_hello_world_v1.0.010<EFBFBD>? 憭㚚<E686AD>璅∪<E79285><E288AA><EFBFBD>瓲敹<E793B2><E695B9>隞嗅<E99A9E>銝贝”<E8B49D><E2809D>蝷綽<E89DB7>
| 蝏<EFBFBD>辣<EFBFBD>滨妍 | <EFBFBD><EFBFBD>辣<EFBFBD>? | <EFBFBD>蠘<EFBFBD><EFBFBD>讛膩 |
|---|---|---|
| <EFBFBD>滨蔭皜<EFBFBD><EFBFBD> | config.json | 摰帋<EFBFBD><EFBFBD><EFBFBD>㺭<EFBFBD>柴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>僐<EFBFBD><EFBFBD>曎<EFBFBD>乓<EFBFBD><EFBFBD>頂蝏?憿寧𤌍霈曄蔭隞亙<E99A9E>Cron雿靝<E99BBF><E99D9D><EFBFBD><EFBFBD><EFBFBD>舀芋<E88880>㛖<EFBFBD><E39B96>亙藁<E4BA99>嫘<EFBFBD>? |
| *<EFBFBD>餉<EFBFBD>蝐? | Module.php | 蝏扳㗁<EFBFBD>服bstractExternalModule<EFBFBD><EFBFBD>HP蝐颯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>思<EFBFBD><EFBFBD>⊿<EFBFBD>餉<EFBFBD><EFBFBD>屸偬摮𣂼<EFBFBD><EFBFBD>啜<EFBFBD>? |
| <EFBFBD><EFBFBD>﹝ | README.md | 雿輻鍂霂湔<EFBFBD>嚗<EFBFBD>笆鈭擧<EFBFBD>鈭文<EFBFBD>Repo<EFBFBD>喳<EFBFBD><EFBFBD>滩<EFBFBD>嚗剹<EFBFBD>? |
| *霈詨虾霂? | LICENSE | 霈詨虾<EFBFBD>⊥狡嚗<EFBFBD><EFBFBD>𡁜虜銝撤IT<EFBFBD>𣇉掩隡潭辺甈曆誑靘蹂<EFBFBD><EFBFBD>𠉛<EFBFBD><EFBFBD>曹澈嚗剹<EFBFBD>? |
| 颲<EFBFBD>𨭌<EFBFBD><EFBFBD>辣 | /pages, /js | <EFBFBD>其<EFBFBD>摮䀹𦆮<EFBFBD>芸<EFBFBD>銋厰△<EFBFBD>U<EFBFBD><EFBFBD>avaScript<EFBFBD>𥟟SS韏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桀<EFBFBD><EFBFBD>? |
*2.1.1 <20>滨蔭<E6BBA8><E894AD>辣 (config.json) <20><>楛摨西圾<E8A5BF>?
config.json<6F><6E>辣銝滢<E98A9D><E6BBA2>舫<EFBFBD>蝵殷<E89DB5>摰<EFBFBD>糓璅∪<E79285><E288AA><EFBFBD>ㄟ<EFBFBD>𦒘髡<F0A69298><E9ABA1><EFBFBD><EFBFBD>𡃏<EFBFBD>REDCap霂交芋<E4BAA4>𡑒<EFBFBD><F0A19192>帋<EFBFBD>銋<EFBFBD>誑<EFBFBD>𠰴<EFBFBD><F0A0B0B4><EFBFBD>閬<EFBFBD><E996AC>銋<EFBFBD><E98A8B><EFBFBD>僐<EFBFBD><E58390><EFBFBD><EFBFBD>䯀SON<4F><4E>辣<EFBFBD>滨蔭<E6BBA8>躰秤嚗峕芋<E5B395>堒<EFBFBD><E5A092>䭾<EFBFBD><E4ADBE>㰘蝸<E3B098>? 皞𣂷誨<EFBFBD><EFBFBD>內<EFBFBD><EFBFBD><EFBFBD>config.json蝏𤘪<E89D8F>
JSON
{
"name": "Advanced Data Processor",
"description": "<22>其<EFBFBD>摮䀹𧒄憭<F0A79284><E686AD><EFBFBD>唳旿撟嗡<E6929F>憭㚚<E686AD>API<50><49><EFBFBD><EFBFBD>?,
"permissions": [
"redcap_save_record",
"redcap_every_page_top"
],
"links": {
"project": [
{
"name": "<22>唳旿憭<E697BF><E686AD>隞芾”<E88ABE>?,
"icon": "fas fa-chart-line",
"url": "pages/dashboard.php"
}
],
"control-center": [
{
"name": "憭<><E686AD><EFBFBD>冽𠯫敹?,
"icon": "fas fa-server",
"url": "pages/admin_logs.php"
}
]
},
"project-settings":,
"authors":
}
*獢<><E78DA2><EFBFBD><EFBFBD><EFBFBD>嚗? permissions<6E>啁<EFBFBD><E59581>曉<EFBFBD>霂瑟<E99C82>撖寧鸌摰𡁻偬摮鞟<E691AE>霈輸䔮<E8BCB8><E494AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨀣迨憭<E8BFA8>𧊋<EFBFBD>堒枂<E5A092>𣂷葵<F0A382B7>拙<EFBFBD>嚗<EFBFBD>朖雿踹銁PHP蝐颱葉摰帋<E691B0>鈭<EFBFBD>砲<EFBFBD>賣㺭嚗<E3BAAD><E59A97>銋<EFBFBD>偶餈靝<E9A488>隡𡁏<E99AA1>銵䎚<E98AB5><E48E9A>roject-settings<67>啁<EFBFBD><E59581>券★<E588B8>株挽蝵桅△<E6A185>V葉<EFBCB6>𥕦遣鈭<E981A3><E988AD>銝果UI嚗<49><E59A97>霈貊鍂<E8B28A>瑕銁銝齿𦻖閫虫誨<E899AB><E8AAA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝钅<E98A9D>蝵格芋<E6A0BC>?1<>?
2.1.2 璅∪<E79285>蝐?(ExternalModule.php) <20><><EFBFBD><EFBFBD>圈<EFBFBD>餉<EFBFBD>
餈嗘葵<EFBFBD><EFBFBD>辣<EFBFBD><EFBFBD>鉄<EFBFBD>拙<EFBFBD>AbstractExternalModule<EFBFBD><EFBFBD>HP蝐颯<EFBFBD><EFBFBD><EFBFBD>蝘滨誧<EFBFBD>踵<EFBFBD>靘𥕢<EFBFBD>撖寞<EFBFBD><EFBFBD>嗉<EFBFBD><EFBFBD>拇䲮瘜閧<EFBFBD>霈輸䔮嚗<EFBFBD><EFBFBD>getProjectSetting<EFBFBD><EFBFBD>uery<EFBFBD>峕𠯫敹𡑒扇敶訫<EFBFBD><EFBFBD>賬<EFBFBD>? 皞𣂷誨<EFBFBD><EFBFBD>內<EFBFBD><EFBFBD><EFBFBD>蝐餌<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餉<EFBFBD>撠<EFBFBD><EFBFBD>
PHP
<?php
namespace Institution\AdvancedDataProcessor;
use ExternalModules\AbstractExternalModule;
use REDCap;
class AdvancedDataProcessor extends AbstractExternalModule {
// 敶栞扇敶蓥<E695B6>摮䀹𧒄<E480B9>芸𢆡閫血<E996AB><E8A180><EFBFBD>䲮瘜?
public function redcap\_save\_record($project\_id, $record, $instrument, $event\_id, $group\_id, $survey\_hash, $response\_id, $repeat\_instance) {
// 1\. 璉<><E79289>亥砲憿寧𤌍<E5AFA7>臬炏<E887AC>舐鍂鈭<E98D82>芋<EFBFBD>烾<EFBFBD>餉<EFBFBD>
if ($this\-\>getProjectSetting('enable\_processing')\!== true) {
return;
}
// 2\. <20>脫迫<E884AB>𣳇<EFBFBD>敺芰㴓嚗?Infinite Loop Trap)
// 憒<><E68692>甇文遆<E69687>唬<EFBFBD>摮䀹㺭<E480B9>殷<EFBFBD>摰<EFBFBD>虾<EFBFBD>賭<EFBFBD><E8B3AD>齿活閫血<E996AB>redcap\_save\_record<72>?
// 雿輻鍂<E8BCBB>蹱<EFBFBD><E8B9B1><EFBFBD>敹埈<E695B9>璉<EFBFBD><E79289>乩<EFBFBD>摮䀹糓<E480B9>衣眏<E8A1A3>祆芋<E7A586>𡑒圻<F0A19192>烐糓敹<E7B393>◆<EFBFBD><E29786><EFBFBD>?
static $is\_processing \= false;
if ($is\_processing) return;
$is\_processing \= true;
try {
// 3\. <20>扯<EFBFBD><E689AF>詨<EFBFBD><E8A9A8>餉<EFBFBD>
$this\-\>processData($project\_id, $record, $instrument);
} catch (\\Exception $e) {
$this\-\>emError("憭<><E686AD>霈啣<E99C88> $record <20>嗅枂<E59785>? ". $e\-\>getMessage());
}
$is\_processing \= false;
}
private function processData($pid, $record, $form) {
// 摰䂿緵蝏<E7B7B5><E89D8F>
$endpoint \= $this\-\>getProjectSetting('api\_endpoint');
//... API 靚<>鍂<EFBFBD>餉<EFBFBD>...
}
}
餈嗵<EFBFBD>蝏𤘪<EFBFBD>蝖桐<EFBFBD>鈭<EFBFBD><EFBFBD>鋆<EFBFBD><EFBFBD>扼<EFBFBD><EFBFBD><EFBFBD>朞<EFBFBD>雿輻鍂namespace嚗峕芋<EFBFBD>烾<EFBFBD><EFBFBD>滢<EFBFBD>銝𤾸<EFBFBD>隞硋虾<EFBFBD>賭蝙<EFBFBD>函㮾隡潛掩<EFBFBD>滨<EFBFBD>璅∪<EFBFBD><EFBFBD>𤑳<EFBFBD><EFBFBD>脩<EFBFBD>13<EFBFBD>?
2.2 <20>喲睸<E596B2>拙<EFBFBD>嚗𠃍ooks嚗劐<E59A97>鈭衤辣憭<E8BEA3><E686AD><EFBFBD>箏<EFBFBD>
<EFBFBD>拙<EFBFBD><EFBFBD>臬僕憸<EFBFBD>EDCap撌乩<EFBFBD>瘚<EFBFBD><EFBFBD>銝餉<EFBFBD><EFBFBD>箏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞砍<EFBFBD>霈詨<EFBFBD><EFBFBD>𤏸<EFBFBD><EFBFBD>銁摨𠉛鍂蝔见<EFBFBD><EFBFBD>笔𦶢<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>鸌摰𡁶<EFBFBD><EFBFBD>扯<EFBFBD>隞<EFBFBD><EFBFBD>9<EFBFBD>?
*2.2.1 redcap_save_record嚗𡁏瓲敹<E793B2>㺭<EFBFBD>桀<EFBFBD><E6A180>?
餈蹱糓鈭峕活撘<EFBFBD><EFBFBD>睲葉<EFBFBD><EFBFBD><EFBFBD>滩<EFBFBD><EFBFBD><EFBFBD>偬摮僐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽㺭<EFBFBD>桀歇<EFBFBD>𣂷漱<EFBFBD>唳㺭<EFBFBD>桀<EFBFBD>*銋见<E98A8B>*嚗䔶<E59A97><E494B6>函鍂<E587BD>瑞<EFBFBD><E7919E>啁&霈斗<E99C88><E69697>臭<EFBFBD><E887AD>㵪<EFBFBD><E3B5AA>冽<EFBFBD>鈭𥕢<E988AD>銝𧢲<E98A9D>銝哨<E98A9D><E593A8>硋銁<E7A18B>𤾸蝱靽嘥<E99DBD><E598A5>𡒊<EFBFBD><F0A1928A>唾圻<E594BE>㻫<EFBFBD>?
- *<EFBFBD><EFBFBD>㺭霂西圾嚗? $project_id嚗<64>★<EFBFBD>埋D嚗? $record嚗<64>扇敶訫<E695B6>嚗? $instrument嚗<74>”<EFBFBD>訫<EFBFBD>嚗? $event_id嚗<64><E59A97>隞貂D嚗? $group_id嚗<64>㺭<EFBFBD>株挪<E6A0AA>桃<EFBFBD>ID嚗? $survey_hash嚗<68><E59A97><EFBFBD>亙<EFBFBD>撣䕘<E692A3>, $response_id嚗<64><E59A97>摨㶏D嚗? $repeat_instance嚗<65><E59A97>憭滚<E686AD>靘页<E99D98>14<31>?
- <EFBFBD><EFBFBD>雿喳<EFBFBD><EFBFBD>典㦤<EFBFBD>荔<EFBFBD>
- <EFBFBD>芸𢆡霂<EFBFBD><EFBFBD>銝舘恣蝞梹<EFBFBD> 憭<><E686AD>REDCap<61><70>蔭霈∠<E99C88>摮埈挾<E59F88>䭾<EFBFBD>憭<EFBFBD><E686AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>靘见<E99D98>嚗諹楊鈭衤辣霈∠<E99C88><E288A0>𡝗<EFBFBD><F0A19D97>𦠜辺隞園<E99A9E>餉<EFBFBD><E9A489><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <EFBFBD>唳旿敶訫<EFBFBD>閫血<EFBFBD><EFBFBD>剁<EFBFBD>DET嚗㗇芋<EFBFBD><EFBFBD><EFBFBD> 靽嘥<E99DBD><E598A5>嗥<EFBFBD><E597A5>喳<EFBFBD><E596B3>唳旿<E594B3>券<EFBFBD><E588B8><EFBFBD>憭㚚<E686AD>瘜典<E7989C>銵冽<E98AB5><E586BD>萄<EFBFBD><E89084><EFBFBD><EFBFBD>蝟餌<E89D9F>嚗𠄌MR嚗剹<E59A97>?
- *<EFBFBD>唳旿<EFBFBD>峕郊嚗? <20>芸𢆡撠<F0A286A1><E692A0>𦦵<EFBFBD><F0A6A6B5>争<EFBFBD>嗪★<E597AA>桐葉<E6A190><E89189>㺭<EFBFBD>桀<EFBFBD><E6A180>嗅<EFBFBD><E59785>靝蜓<E99D9D>𠉛弦<F0A0899B>嗪★<E597AA>桐葉17<31>?
- <EFBFBD>游𦶢<EFBFBD>琿𩐠嚗㇍he Infinite Loop嚗㚁<E59A97> 銝<>銝芸虜閫<E8999C><E996AB><EFBFBD>躰秤<E8BAB0>盍edcap_save_record<72><64><EFBFBD>靚<EFBFBD>鍂REDCap::saveData<74><61>眏鈭粃aveData隡𡁜<E99AA1>甈∟圻<E2889F>𩹨edcap_save_record嚗諹<E59A97>隡𡁜紡<F0A1819C>湔<EFBFBD><E6B994>鞾<EFBFBD>鍦<EFBFBD>嚗峕<E59A97>蝏<EFBFBD>紡<EFBFBD>湔<EFBFBD><E6B994>∪膥撏拇<E6928F>嚗<EFBFBD>挾<EFBFBD>躰秤<E8BAB0>硋<EFBFBD>摮䁅<E691AE>堒偷嚗剹<E59A97>?
- *閫<><E996AB><EFBFBD>寞<EFBFBD>嚗? 撘<><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD>憿餃<E686BF><E9A483>恍<EFBFBD>餉<EFBFBD><E9A489>交<EFBFBD><E4BAA4>乩<EFBFBD>摮䀹糓<E480B9>血歇<E8A180>刻<EFBFBD>銵䔶葉嚗峕<E59A97>雿輻鍂<E8BCBB><E98D82><EFBFBD><EFBFBD>典遆<E585B8>啁眏璅∪<E79285><E288AA>祈澈閫血<E996AB><E8A180>嗆<EFBFBD><E59786>漤<EFBFBD><E6BCA4><EFBFBD>箝<EFBFBD>?
2.2.2 redcap_every_page_top嚗䦧I瘜典<E7989C>銝𤾸<E98A9D>撅<EFBFBD><E69285>批<EFBFBD>
甇日偬摮𣂼銁瘥譍葵憿寧𤌍銝𠹺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憿菟𢒰<EFBFBD>㰘蝸<EFBFBD>嗆<EFBFBD>銵䎚<EFBFBD>?
- <EFBFBD><EFBFBD>雿喳<EFBFBD><EFBFBD>典㦤<EFBFBD>荔<EFBFBD>
- *UI/DOM<4F>滢<EFBFBD>嚗? 瘜典<E7989C>JavaScript嚗<74>掩隡嘯hazam璅∪<E79285><E288AA><EFBFBD>䲮瘜𤏪<E7989C><F0A48FAA>乩耨<E4B9A9>道OM嚗<4D>抅鈭𤾸<E988AD><F0A4BEB8><EFBFBD><EFBFBD>餉<EFBFBD><E9A489>鞱<EFBFBD>摮埈挾嚗峕<E59A97><E5B395>湔㺿隞芸膥<E88AB8><E886A5><EFBFBD>閫?3<>?
- *CSS瘜典<EFBFBD>嚗? <20>㰘蝸<E3B098>芸<EFBFBD>銋㗇甅撘讛”隞亙笆憿寧𤌍餈𥡝<E9A488><F0A5A19D><EFBFBD><EFBFBD><EFBFBD>硔<EFBFBD>?
- *<EFBFBD>扯<EFBFBD>霅血<EFBFBD>嚗? <20>曹<EFBFBD>甇日偬摮𣂼銁*瘥譍<E798A5>憿?餈鞱<E9A488>嚗<EFBFBD>銁甇日偬摮𣂼<E691AE>餈𥡝<E9A488>蝜<EFBFBD><E89D9C><EFBFBD><EFBFBD>㺭<EFBFBD>桀<EFBFBD><E6A180>亥砭撠<E7A0AD>艇<EFBFBD>漤<EFBFBD>雿𡒊鍂<F0A1928A>瑚<EFBFBD>撉䎚<E69289><E48E9A>迨憭<E8BFA8><E686AD>隞<EFBFBD><E99A9E>敹<EFBFBD>◆<EFBFBD><E29786>漲頧駁<E9A0A7><E9A781>?
*2.2.3 redcap_survey_complete嚗𡁜<E59A97>銝舘<E98A9D><E88898><EFBFBD>蝔𧢲綉<F0A7A2B2>?
蝐颱撮鈭粃ave_record嚗䔶<EFBFBD>銝梶鍂鈭舘<EFBFBD><EFBFBD>亙<EFBFBD><EFBFBD>鞉𧒄<EFBFBD><EFBFBD><EFBFBD><EFBFBD>舀覔<EFBFBD>桀<EFBFBD>銝舘<EFBFBD><EFBFBD><EFBFBD><EFBFBD>䂿<EFBFBD>撠<EFBFBD><EFBFBD>隞祇<EFBFBD>摰𡁜<EFBFBD><EFBFBD>唬<EFBFBD><EFBFBD>𪄇RL嚗峕<EFBFBD><EFBFBD>煾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>箸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡏭郎<EFBFBD>亙<EFBFBD><EFBFBD>𡁶䰻<EFBFBD>脲芋<EFBFBD>堒<EFBFBD><EFBFBD>賜<EFBFBD><EFBFBD>芸<EFBFBD>銋厩㩞摮鞾<EFBFBD>隞園<EFBFBD>𡁶䰻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>喲偬摮?8<>?
---
3. <20>唳旿摨㮖漱鈭雴<E988AD>摰匧<E691B0>撌亦<E6928C>
鈭峕活撘<EFBFBD><EFBFBD>睲葉<EFBFBD><EFBFBD>憭抒<EFBFBD>憌𡡞埯銋衤<EFBFBD><EFBFBD>臭<EFBFBD>敶梶<EFBFBD><EFBFBD>唳旿摨㮖漱鈭𡜐<EFBFBD>餈坔虾<EFBFBD>賢紡<EFBFBD>巽QL瘜典<EFBFBD>嚗𠄎QLi嚗㗇<EFBFBD>瘣𠺶<EFBFBD><EFBFBD><EFBFBD>鈭竃EDCap摮睃<EFBFBD><EFBFBD>𤩺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>靽脲擪<EFBFBD>亙熒靽⊥<EFBFBD>嚗㇊HI嚗㚁<EFBFBD>摰匧<EFBFBD><EFBFBD>扯秐<EFBFBD>喲<EFBFBD>閬<EFBFBD><EFBFBD>?
3.1 <20>質情<E8B3AA>亥砭<E4BAA5>寞<EFBFBD>銝燑QL瘜典<E7989C><E585B8>脣鴃
<EFBFBD>冽唂<EFBFBD><EFBFBD><EFBFBD>隞嗡葉嚗<EFBFBD><EFBFBD><EFBFBD>𤏸<EFBFBD><EFBFBD><EFBFBD>撣訾蝙<EFBFBD>牡b_query("SELECT * FROM table WHERE id = $id")<29>?*餈蹱糓銝仿<E98A9D><E4BBBF><EFBFBD><EFBFBD><EFBFBD>刻<EFBFBD>閫?*嚗<><E59A97>銝箏<E98A9D><E7AE8F>?id<69>舐鍂<E88890>瑁<EFBFBD><E79181>伐<EFBFBD>摰<EFBFBD><E691B0>霈祿QL瘜典<E7989C>19<31>? 憭㚚<E686AD>璅∪<E79285>獢<EFBFBD>沲撘訫<E69298>鈭<EFBFBD><E988AD><EFBFBD>函<EFBFBD><E587BD>亥砭蝐颯<E89D90><E9A2AF><EFBFBD><EFBFBD>𤏸<EFBFBD><F0A48FB8><EFBFBD>雿輻鍂$this->query()嚗<><E59A97>ExternalModules::query嚗㚁<E59A97>霂交䲮瘜閙𣈲<E99699><F0A388B2><EFBFBD><EFBFBD>啣<EFBFBD><E595A3>亥砭<E4BAA5>? *<EFBFBD><EFBFBD>摹隞<EFBFBD><EFBFBD>嚗<EFBFBD>艇蝳<EFBFBD>蝙<EFBFBD>剁<EFBFBD>嚗?
PHP
// <20>詨<EFBFBD><E8A9A8><EFBFBD>QL瘜典<E7989C>瞍𤩺<E79E8D>
$sql = "SELECT value FROM redcap_data WHERE project_id = ". $_GET['pid']. " AND field_name = '". $_GET['field']. "'";
$q = db_query($sql);
*摰匧<EFBFBD>隞<EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD>雿喳<EFBFBD>頝蛛<EFBFBD>嚗?
PHP
// <20><>㺭<EFBFBD>𡝗䰻霂?
$sql = "SELECT value FROM redcap_data WHERE project_id =? AND field_name =?";
$q = $this->query($sql, [$project_id, $field_name]);
while ($row = $q->fetch_assoc()) {
// 摰匧<E691B0>憭<EFBFBD><E686AD><EFBFBD>唳旿
}
雿輻鍂?<3F>牐<EFBFBD>蝚衣&靽脲㺭<E884B2>桀<EFBFBD>撽勗𢆡蝔见<E89D94>撖寡<E69296><E5AFA1>亥<EFBFBD>銵諹蓮銋㚁<E98A8B>隞舘<E99A9E>䔶葉<E494B6>峕𤫇<E5B395>餉<EFBFBD><E9A489>釣<EFBFBD>亦<EFBFBD>隞颱<E99A9E><E9A2B1>嗆<EFBFBD>SQL<51>賭誘11<31>?
3.2 頝函<E9A09D><E587BD>𡁏𧋦<F0A1818F>餃稬嚗ǍSS嚗厩<E59A97><E58EA9>脣鴃
敶𤘪芋<EFBFBD>堒<EFBFBD>瘚讛<EFBFBD><EFBFBD>刻<EFBFBD><EFBFBD>箸㺭<EFBFBD>格𧒄<EFBFBD>婙<EFBFBD>𥪜陘<EFBFBD>嗆糓<EFBFBD>冽<EFBFBD>颲枏<EFBFBD><EFBFBD><EFBFBD>㺭<EFBFBD>栽<EFBFBD>婙<EFBFBD>𥪜<EFBFBD>憿駁俈甇°SS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦦵鍂<EFBFBD>瑕銁<EFBFBD><EFBFBD>𧋦摮埈挾銝剛<EFBFBD><EFBFBD>功<script>alert('Hack');</script>嚗諹<E59A97>峕芋<E5B395>堒銁隞芾”<E88ABE>蹂<EFBFBD><E8B982>曄內霂亙<E99C82>畾萎<E795BE><E8908E>芾<EFBFBD>銵諹蓮銋㚁<E98A8B><E39A81>𡁏𧋦撠<F0A78BA6>銁<EFBFBD>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD>瘚讛<E7989A><E8AE9B>其葉<E585B6>扯<EFBFBD><E689AF>?
<0A><>雿喳<E99BBF>頝蛛<E9A09D>
憪讠<E686AA>撠<EFBFBD><E692A0><EFBFBD>箏<EFBFBD>鋆孵銁REDCap::escapeHtml()銝哨<E98A9D><E593A8>碶蝙<E7A2B6>冽<EFBFBD><E586BD>嗥<EFBFBD>撘箏<E69298><E7AE8F>寞<EFBFBD><E5AF9E>?
PHP
echo "<22>冽<EFBFBD>憭<EFBFBD>釣: ". REDCap::escapeHtml($user_note);
<EFBFBD>芾<EFBFBD><EFBFBD>扯<EFBFBD>甇斗<EFBFBD>雿𨀣糓璅∪<EFBFBD><EFBFBD>刻<EFBFBD><EFBFBD>笔恣<EFBFBD>亥<EFBFBD>蝔衤葉鋡急<EFBFBD>蝏萘<EFBFBD>銝餉<EFBFBD><EFBFBD>笔<EFBFBD>22<EFBFBD>?
3.3 <20>唳旿霈輸䔮蝏<E494AE><E89D8F>DAGs嚗劐<E59A97><E58A90><EFBFBD><EFBFBD><EFBFBD>𠉛氖
敶梶凒<EFBFBD>仿<EFBFBD>撖雹edcap_data蝻硋<EFBFBD>SQL<EFBFBD>亥砭<EFBFBD>塚<EFBFBD>璅∪<EFBFBD>隡𡁶<EFBFBD>餈𧍒EDCap<EFBFBD><EFBFBD><EFBFBD><EFBFBD>函<EFBFBD>摨讐漣摰匧<EFBFBD><EFBFBD>改<EFBFBD><EFBFBD><EFBFBD>𡠺<EFBFBD>唳旿霈輸䔮蝏<EFBFBD><EFBFBD>DAGs嚗剹<EFBFBD><EFBFBD>䰻霂W虾<EFBFBD>賭<EFBFBD><EFBFBD>䭾<EFBFBD>銝剛<EFBFBD><EFBFBD>鮋★<EFBFBD>桐葉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㕑扇敶𤏪<EFBFBD>隞舘<EFBFBD><EFBFBD><EFBFBD>霈貊<EFBFBD><EFBFBD>農<EFBFBD><EFBFBD>鍂<EFBFBD>瑞<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>運<EFBFBD><EFBFBD>㺭<EFBFBD>柴<EFBFBD>?
<0A><>雿喳<E99BBF>頝蛛<E9A09D>
<0A>芾<EFBFBD><E88ABE>航<EFBFBD>嚗諹窈雿輻鍂REDCap::getData()<29>寞<EFBFBD>隞<EFBFBD>𤜯<EFBFBD>笔<EFBFBD>SQL<51><4C>EDCap::getData()隡朞䌊<E69C9E>典<EFBFBD><E585B8>䄂AG<41>𣬚鍂<F0A3AC9A>瑟<EFBFBD><E7919F>僐<EFBFBD>?
PHP
$data = REDCap::getData($project_id, 'array', $record_id);
憒<EFBFBD><EFBFBD><EFBFBD>箔<EFBFBD><EFBFBD>扯<EFBFBD><EFBFBD>笔<EFBFBD>敹<EFBFBD>◆雿輻鍂<EFBFBD>笔<EFBFBD>SQL嚗<EFBFBD><EFBFBD><EFBFBD>𤏸<EFBFBD>?敹<>◆*<2A>见𢆡餈墧𦻖redcap_data_access_groups銵剁<E98AB5>撟嗆覔<E59786>桀<EFBFBD><E6A180>滨鍂<E6BBA8>瑞<EFBFBD>group_id餈𥡝<E9A488>餈<EFBFBD>誘24<32>?
---
4. 蝘餃𢆡蝡臭漱鈭𡜐<E988AD>REDCap Mobile App瘛勗漲閫<E6BCB2><E996AB>
REDCap<EFBFBD>滚𦛚<EFBFBD>其<EFBFBD>蝘餃𢆡霈曉<EFBFBD>銋钅𡢿<EFBFBD><EFBFBD>漱鈭埝糓鈭峕活撘<EFBFBD><EFBFBD>𤑳<EFBFBD><EFBFBD>喲睸憸<EFBFBD><EFBFBD>嚗𣬚鸌<EFBFBD>急糓<EFBFBD>其<EFBFBD><EFBFBD>𠉛<EFBFBD>餈墧𦻖颲<EFBFBD>榆<EFBFBD><EFBFBD>𧑐<EFBFBD>箄<EFBFBD>銵<EFBFBD><EFBFBD><EFBFBD>啁<EFBFBD>蝛嗆𧒄<EFBFBD>?
*4.1 REDCap Mobile App<70><70>沲<EFBFBD><E6B2B2><EFBFBD>撌乩<E6928C>瘚?
REDCap Mobile App<70>臭<EFBFBD>銝芬<E98A9D>𡏭<EFBFBD>摰X<E691B0>蝡胼<E89DA1>嘅<EFBFBD>摰<EFBFBD><E691B0>憿寧𤌍蝏𤘪<E89D8F>嚗<EFBFBD><E59A97><EFBFBD>唳旿嚗匧<E59A97><E58CA7>唳旿嚗<E697BF>虾<EFBFBD>㚁<EFBFBD>銝贝蝸<E8B49D>唳𧋦<E594B3>啗挽憭<E68CBD><E686AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>砍𧑐Web<65>滚𦛚<E6BB9A>剁<EFBFBD><E58981><EFBFBD>捂蝳餌瑪<E9A48C>唳旿<E594B3>園<EFBFBD><E59C92><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD>餈墧𦻖<E5A2A7>塚<EFBFBD>摰<EFBFBD><E691B0>朞<EFBFBD>REDCap API撠<49>㺭<EFBFBD>桀<EFBFBD>甇亙<E79487>銝剖亢<E58996>滚𦛚<E6BB9A>?5<>?
4.2 API<50>峕郊<E5B395>箏<EFBFBD>銝𥣡SON Payload
<EFBFBD>峕郊餈<EFBFBD><EFBFBD>擃睃漲靘肽<EFBFBD>鈭垾PI隞斤<EFBFBD>嚗㇍oken嚗剹<EFBFBD>?
- *隞斤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? <20>冽<EFBFBD><E586BD>冽<EFBFBD><E586BD>∪膥蝡舐<E89DA1><E88890>𣂷誘<F0A382B7>䎚<EFBFBD>?
- <EFBFBD>嘥<EFBFBD><EFBFBD>吔<EFBFBD> 摨𠉛鍂蝔见<E89D94><E8A781>急<EFBFBD><E680A5><EFBFBD>鉄<EFBFBD>嘥<EFBFBD><E598A5>碶誨<E7A2B6><E8AAA8><EFBFBD>鈭𣬚輕<F0A3AC9A><E8BC95><EFBFBD>霂乩誨<E4B9A9><E8AAA8><EFBFBD>霂<EFBFBD>挽憭<E68CBD>僎銝贝蝸憿寧𤌍XML嚗<4C><E59A97><EFBFBD>唳旿嚗?5<>?
- *<EFBFBD>唳旿隡㰘<EFBFBD>嚗? 霈曉<E99C88>銝𦠜𤣰<F0A6A09C><F0A4A3B0><EFBFBD><EFBFBD>唳旿摮睃<E691AE><E79D83>典<EFBFBD>撖<EFBFBD><E69296>SQLCipher<65>唳旿摨㮖葉嚗ǎOS/Android嚗剹<E59A97><E589B9><EFBFBD>甇交𧒄嚗淾pp<70>魀mportRecords API蝡舐<E89DA1><E88890>煾<EFBFBD><E785BE>SON<4F>㗇<EFBFBD>韐蠘蝸<E8A098>? JSON Payload蝏𤘪<E89D8F>嚗<EFBFBD><E59A97>甇伐<E79487>嚗? API<50><49><EFBFBD><EFBFBD>唳旿<E594B3><E697BF>鍂<EFBFBD>孵<EFBFBD><E5ADB5><EFBFBD>SON蝏𤘪<E89D8F><F0A498AA><EFBFBD>笆鈭擧<E988AD>撱箄䌊撌梁<E6928C>蝘餃𢆡<E9A483>亙藁嚗<E89781>𤜯隞<F0A49CAF><E99A9E><EFBFBD>農pp嚗厩<E59A97>鈭峕活撘<E6B4BB><E69298>𤏸<EFBFBD><F0A48FB8>䔉霂湛<E99C82><E6B99B>萄<EFBFBD>甇斗芋撘𤩺糓撘箏<E69298><E7AE8F>抒<EFBFBD><E68A92>? JSON
[
{
"record_id": "101",
"redcap_event_name": "baseline_arm_1",
"first_name": "John",
"age": "30",
"demographics_complete": "2"
}
]
28<EFBFBD>?
*4.3 <20>脩<EFBFBD>閫<EFBFBD><E996AB>銝𡡞<E98A9D><F0A1A19E>拍恣<E68B8D>?
蝘餃𢆡<EFBFBD><EFBFBD><EFBFBD>銝剔<EFBFBD>銝<EFBFBD>銝芯蜓閬<EFBFBD><EFBFBD>𣈯萅<EFBFBD>晦<EFBFBD>脲糓**<2A>峕郊<E5B395>脩<EFBFBD>**<2A><><EFBFBD><EFBFBD>𦦵鍂<F0A6A6B5>嫂<EFBFBD>冽<EFBFBD><E586BD>∪膥銝羓<E98A9D>颲𤏸扇敶?01嚗諹<E59A97>𣬚鍂<F0A3AC9A>媲<EFBFBD>函氖蝥輻宏<E8BCBB>典<EFBFBD><E585B8>函<EFBFBD>摨譍<E691A8>蝻𤥁<E89DBB>霈啣<E99C88>101嚗<31><E59A97><EFBFBD>峕郊<E5B395>罸𡢿隡𡁜<E99AA1><F0A1819C>笔<EFBFBD>蝒<EFBFBD><E89D92><EFBFBD>EDCap Mobile App<70>瑟<EFBFBD><E7919F>箸𧋦<E7AEB8><F0A78BA6><EFBFBD>蝒<EFBFBD>圾<EFBFBD>喟<EFBFBD><E5969F>g<EFBFBD>閬<EFBFBD><E996AC><EFBFBD>冽<EFBFBD><E586BD>㗇𥋘<E39787>𨀣<EFBFBD><F0A880A3>∪膥<E288AA><E886A5>𧋦<EFBFBD>脲<EFBFBD><E884B2>𡏭挽憭<E68CBD><E686AD><EFBFBD>砂<EFBFBD>腈<EFBFBD>? 鈭峕活撘<EFBFBD><EFBFBD>穃鍳蝷綽<EFBFBD> 憒<><E68692><EFBFBD>冽迤<E586BD>冽<EFBFBD>撱箄䌊<E7AE84>刻<EFBFBD><E588BB>穿<EFBFBD>靘见<E99D98>DET嚗㗇䔉靽格㺿甇<E3BABF>銁鋡怎宏<E6808E>冽㺭<E586BD>格𤣰<E6A0BC><F0A4A3B0><EFBFBD><EFBFBD>蝙<EFBFBD>函<EFBFBD>霈啣<E99C88>嚗<EFBFBD><E59A97>隡𡁜<E99AA1><F0A1819C>惩<EFBFBD>蝒<EFBFBD><E89D92>憌𡡞埯<F0A1A19E>?
- <EFBFBD><EFBFBD>雿喳<EFBFBD>頝蛛<EFBFBD> 蝘餃𢆡<E9A483>冽<EFBFBD>摨𥪜<E691A8><F0A5AA9C>齿鰵<E9BDBF><E9B0B5><EFBFBD><EFBFBD>𣈲銝<F0A388B2><E98A9D><EFBFBD>扇敶閙<E695B6><E99699>孵<EFBFBD><E5ADB5><EFBFBD>AG嚗䔶誑<E494B6>脫迫銝擧<E98A9D><E693A7>∪膥蝡航<E89DA1>蝔见<E89D94><E8A781>罸<EFBFBD><E7BDB8>删<EFBFBD>颲?0<>?
---
5. MyCap嚗𡁜<E59A97>銝舘<E98A9D><E88898>垢<EFBFBD><E59EA2><EFBFBD><EFBFBD>嗡<EFBFBD>鈭支<E988AD>
<EFBFBD>賜<EFBFBD>REDCap Mobile App<70>舫𢒰<E888AB>𤑳<EFBFBD>蝛嗡犖<E597A1>条<EFBFBD>嚗䔶<E59A97>MyCap<EFBFBD>舫𢒰<EFBFBD>穃<EFBFBD>銝舘<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yCap<EFBFBD><EFBFBD><EFBFBD>脲糓銝<EFBFBD>銝芸<EFBFBD><EFBFBD>冽芋<EFBFBD>梹<EFBFBD><EFBFBD>𤾸銁13.0<EFBFBD><EFBFBD>𧋦銝剛◤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>訌EDCap<EFBFBD>詨<EFBFBD>銝哨<EFBFBD>蝒<EFBFBD>遬鈭<EFBFBD><EFBFBD><EFBFBD>滩<EFBFBD><EFBFBD>?2<>?
5.1 <20>嗆<EFBFBD>嚗鑹esearchKit銝竃esearchStack
MyCap<EFBFBD>拍鍂鈭<EFBFBD>pple<EFBFBD>?*ResearchKit**嚗ǎOS嚗匧<E59A97>ResearchStack嚗㇁ndroid嚗剹<EFBFBD><EFBFBD><EFBFBD>鈭𥟇糓銝㮖蛹<EFBFBD>餃郎<EFBFBD>𠉛弦摨𠉛鍂蝔见<EFBFBD>霈曇恣<EFBFBD><EFBFBD><EFBFBD>皞鞉<EFBFBD><EFBFBD>嗚<EFBFBD><EFBFBD>yCap<EFBFBD><EFBFBD><EFBFBD>獢交<EFBFBD>嚗?
- *<EFBFBD>滨蔭嚗? <20>𠉛弦鈭箏<E988AD><E7AE8F>沖EDCap銝剝<E98A9D>蝵桐遙<E6A190>~<EFBFBD>?
- *頧祆揢嚗? MyCap撠<70>EDCap<61><70>㺭<EFBFBD>株蓮<E6A0AA>V蛹ResearchKit撖寡情摰帋<E691B0><E5B88B>?
- *<EFBFBD>扯<EFBFBD>嚗? 摨𠉛鍂蝔见<E89D94>撠<EFBFBD><E692A0>鈭𥕦笆鞊⊥葡<E28AA5>㮖蛹<E3AE96>毺<EFBFBD>蝘餃𢆡閫<F0A286A1>㦛嚗<E3A69B><E59A97>屸<EFBFBD>Web閫<62>㦛嚗㚁<E59A97><E39A81>𣂷<EFBFBD>瘚<EFBFBD><E7989A><EFBFBD><EFBFBD>pp雿㯄<E99BBF>34<33>?
5.2 銝餃𢆡隞餃𦛚嚗㇁ctive Tasks嚗厩<E59A97>摰𡁜<E691B0>
MyCap<EFBFBD><EFBFBD><EFBFBD>祉鸌<EFBFBD><EFBFBD><EFBFBD><EFBFBD>賣糓<EFBFBD>靝蜓<EFBFBD>其遙<EFBFBD>﹦<EFBFBD>吲<EFBFBD>婙<EFBFBD>𥪜⏚<EFBFBD>冽<EFBFBD><EFBFBD>箔<EFBFBD><EFBFBD>笔膥嚗<EFBFBD><EFBFBD><EFBFBD>笔漲霈~<EFBFBD><EFBFBD>漲<EFBFBD>钅<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箔貌嚗㗇<EFBFBD><EFBFBD>讛恕<EFBFBD>交<EFBFBD>頨思<EFBFBD><EFBFBD>蠘<EFBFBD><EFBFBD><EFBFBD>暑<EFBFBD>剁<EFBFBD>靘见<EFBFBD>嚗峕䛵<EFBFBD>駁<EFBFBD>笔漲<EFBFBD><EFBFBD>郊<EFBFBD><EFBFBD><EFBFBD>撟唾﹛<EFBFBD><EFBFBD>征<EFBFBD>渲扇敹<EFBFBD><EFBFBD>37<EFBFBD>?
鈭峕活撘<E6B4BB><E69298>烐㦤隡𡄯<E99AA1>
撘<><E69298>𤏸<EFBFBD><F0A48FB8>虾隞亙<E99A9E>撱箄䌊摰帋<E691B0><E5B88B><EFBFBD>蜓<EFBFBD>其遙<E585B6>∴<EFBFBD>雿<EFBFBD><E99BBF><EFBFBD><EFBFBD>閬<EFBFBD>wift嚗ǎOS嚗㗇<E59A97>Kotlin/Java嚗㇁ndroid嚗厩<E59A97>擃条漣<E69DA1>亥<EFBFBD>嚗<EFBFBD>僎靽格㺿MyCap皞𣂷誨<F0A382B7><E8AAA8><EFBFBD>餈䠷<E9A488>閬<EFBFBD><E996AC><EFBFBD>䔶<EFBFBD>REDCap<61>詨<EFBFBD>霈詨虾<E8A9A8><E899BE>鸌摰朞<E691B0><E69C9E>鬹pp皞𣂷誨<F0A382B7><E8AAA8>捂<EFBFBD>荔<EFBFBD><E88D94><EFBFBD><EFBFBD><EFBFBD>䕘<EFBFBD><E49598><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>甈∪<E79488><E288AA>煾<EFBFBD>𡁜虜靘折<E99D98>鈭舘圻<E88898>餹yCap<61>滢<EFBFBD><E6BBA2>硋<EFBFBD><E7A18B><EFBFBD>yCap<61>唳旿<E594B3>?
- *獢<><E78DA2>嚗? 銝<>銝芸<E98A9D><E88AB8>冽芋<E586BD>梹<EFBFBD><E6A2B9>朞<EFBFBD>redcap_save_record<72>烐綉隡惩<E99AA1><E683A9><EFBFBD>yCap銝餃𢆡隞餃𦛚<E9A483>唳旿嚗<E697BF><E59A97><EFBFBD>𨅯<EFBFBD>銝舘<E98A9D><E88898><EFBFBD><EFBFBD>𨀣郊<F0A880A3><E9838A><EFBFBD>笔漲<E7AC94>苷<EFBFBD>鈭𡒊鸌摰𡁻<E691B0><F0A181BB>潘<EFBFBD>銵冽<E98AB5>頝<EFBFBD><E9A09D>㘾<EFBFBD><E398BE>抬<EFBFBD>嚗<EFBFBD><E59A97>閫血<E996AB>霅行𥁒38<33>?
5.3 <20>朞<EFBFBD>憭㚚<E686AD>璅∪<E79285>摰𡁜<E691B0>MyCap
撠賜恣MyCap<EFBFBD>舀瓲敹<EFBFBD><EFBFBD><EFBFBD>踝<EFBFBD>EM隞滨<EFBFBD><EFBFBD>臭誑憓𧼮撩摰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>其<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣬚<EFBFBD><EFBFBD>芸<EFBFBD>銋劐<EFBFBD>蝏渡<EFBFBD>撟嗉䌊<EFBFBD>券<EFBFBD>朞<EFBFBD><EFBFBD>萄<EFBFBD><EFBFBD>桐辣<EFBFBD>煾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>pp Links<6B>蠘<EFBFBD><E8A098><EFBFBD>捂隞𤾸<E99A9E><F0A4BEB8>冽<EFBFBD>瘛勗漲<E58B97>暹𦻖<E69AB9>衽yCap摨𠉛鍂蝔见<E89D94>39<33>?
---
*6. REDCap API嚗𡁶<E59A97><F0A181B6><EFBFBD>頂蝏毺<E89D8F><E6AFBA>芸𢆡<E88AB8>𡝗‘璇?
API<EFBFBD>臭<EFBFBD><EFBFBD>滢<EFBFBD><EFBFBD>抒<EFBFBD><EFBFBD>舀<EFBFBD><EFBFBD><EFBFBD>笆鈭𦒘<EFBFBD>甈∪<EFBFBD><EFBFBD>𤏸<EFBFBD>諹<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>𡁜虜<EFBFBD>舐<EFBFBD><EFBFBD>坔<EFBFBD><EFBFBD>冽芋<EFBFBD>㛖<EFBFBD><EFBFBD>蹂誨<EFBFBD>寞<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣈯<EFBFBD>餉<EFBFBD><EFBFBD>臭誑<EFBFBD>朞<EFBFBD><EFBFBD>每ron雿靝<EFBFBD>銝𡃏<EFBFBD>銵𣬚<EFBFBD>憭㚚<EFBFBD><EFBFBD>𡁏𧋦嚗㇊ython/R嚗㗇䔉憭<E49489><E686AD>嚗屸<E59A97>銋<EFBFBD><E98A8B><EFBFBD>𡁜虜瘥𥪜銁<F0A5AA9C>滚𦛚<E6BB9A>其<EFBFBD>摰㕑<E691B0>PHP璅∪<E79285><E288AA>游<EFBFBD><E6B8B8>具<EFBFBD>?
*6.1 撖澆枂銝𤾸紡<F0A4BEB8>亦<EFBFBD><E4BAA6><EFBFBD>雿喳<E99BBF>頝?
- <EFBFBD><EFBFBD>鸌憭<EFBFBD><EFBFBD>嚗㇂atching嚗㚁<EFBFBD> 撖澆枂憭批<E686AD><E689B9>唳旿<E594B3><E697BF>𧒄嚗䔶<E59A97>甈∟窈瘙<E7AA88><E79899><EFBFBD>㕑扇敶蓥<E695B6>撖潸稲頞<E7A8B2>𧒄<EFBFBD>?
- *閫<><E996AB><EFBFBD>寞<EFBFBD>嚗? 雿輻鍂batch_size<7A><65>㺭<EFBFBD>硋<EFBFBD><E7A18B>堒儐<E5A092>舫<EFBFBD><E888AB><EFBFBD>扇敶𨰻<E695B6>?
- *蝐餃<EFBFBD>憭<EFBFBD><EFBFBD>嚗? 暺䁅恕<E48185><E68195><EFBFBD>銝页<E98A9D>API<50>沅SON銝剖<E98A9D><E58996><EFBFBD><EFBFBD>㗇㺭<E39787>桐<EFBFBD>銝箏<E98A9D>蝚虫葡餈𥪜<E9A488><F0A5AA9C>?
- *<2A>琿𩐠嚗? <20>沌HP/Python撣<6E><E692A3>璉<EFBFBD><E79289>乩葉嚗<E89189><E59A97>畾萄<E795BE>潑<EFBFBD>?<3F>嘅<EFBFBD>摮㛖泵銝莎<E98A9D><E88E8E>冽<EFBFBD>鈭𥕢<E988AD>銝𧢲<E98A9D>銝凋蛹<E5878B><E89BB9><EFBFBD>雿<EFBFBD><E99BBF>?<3F>嘅<EFBFBD><E59885>湔㺭嚗劐蛹<E58A90><E89BB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤏸<EFBFBD><F0A48FB8><EFBFBD>憿颱艇<E9A2B1>澆笆API<50>滚<EFBFBD>餈𥡝<E9A488>蝐餃<E89D90>頧祆揢40<34>?
- <EFBFBD>𨀣<EFBFBD>撟喇<EFBFBD>苷<EFBFBD><EFBFBD>諪AV<EFBFBD>嘥紡<EFBFBD>綽<EFBFBD> API<50>𥕦遣銝<E981A3>銝芬<E98A9D>𨀣<EFBFBD>撟喇<E6929F>脲<EFBFBD>隞塚<E99A9E>瘥譍葵霈啣<E99C88>/鈭衤辣銝<E8BEA3>銵䕘<E98AB5><E49598><EFBFBD><EFBFBD>銝𤾸<E98A9D>蝡舐<E89DA1>EAV蝏𤘪<E89D8F>銝滚<E98A9D><E6BB9A><EFBFBD><EFBFBD>甈∪<E79488><E288AA>𤏸<EFBFBD><F0A48FB8><EFBFBD>𡁜虜<F0A1819C><E8999C>遣<EFBFBD>𨀣㺭<F0A880A3>桀<EFBFBD><E6A180>亥圻<E4BAA5>穃膥<E7A983>嘅<EFBFBD>DET嚗㚁<E59A97>瘥誩<E798A5>靽嘥<E99DBD>霈啣<E99C88><E595A3>塚<EFBFBD>霂亥圻<E4BAA5>穃膥<E7A983>賭<EFBFBD><E8B3AD>嗅<EFBFBD><E59785>亥䌊REDCap<61><70>OST霂瑟<E99C82>嚗𣬚<E59A97><F0A3AC9A>舘<EFBFBD><E88898>杗PI撖澆枂霂亦鸌摰朞扇敶閗<E695B6>銵<EFBFBD><E98AB5><EFBFBD>?2<>? 隞<EFBFBD><EFBFBD>蝷箄<EFBFBD>嚗䥪ython API撖澆枂<E6BE86>𡁏𧋦
Python
import requests
import pandas as pd
api_url = 'https://redcap.institution.edu/api/'
# payload<61><64><EFBFBD>?
payload = {
'token': 'YOUR_32_CHAR_TOKEN',
'content': 'record',
'format': 'json',
'type': 'flat',
# 隞<>繮<EFBFBD>𣇉鸌摰朞扇敶蓥誑<E893A5><E8AA91><EFBFBD>撣血捐
'records': '101'
}
try:
response = requests.post(api_url, data=payload)
response.raise_for_status() # 璉<><E79289>以TTP<54>躰秤
data = response.json()
\# 頧祆揢銝慣ataFrame餈𥡝<E9A488>憭<EFBFBD><E686AD>
df \= pd.DataFrame(data)
print(df.head())
except requests.exceptions.RequestException as e:
print(f"API霂瑟<E99C82>憭梯揖: {e}")
except ValueError:
print("JSON閫<4E><E996AB>憭梯揖 - <20>滚<EFBFBD><E6BB9A>航<EFBFBD><E888AA>酶SON<4F>澆<EFBFBD>")
44<EFBFBD>?
---
*7. <20><>雿單<E99BBF>靘讠<E99D98>蝛塚<E89D9B>Case Studies嚗?
銝箔<EFBFBD>霂湔<EFBFBD><EFBFBD>𨀣<EFBFBD>雿喳<EFBFBD><EFBFBD>兩<EFBFBD>嘅<EFBFBD><EFBFBD>睲賑<EFBFBD><EFBFBD><EFBFBD>銝厩<EFBFBD>蝒<EFBFBD>枂<EFBFBD><EFBFBD><EFBFBD>甈∪<EFBFBD><EFBFBD>烐䲮瘜𨰻<EFBFBD>?
7.1 獢<><E78DA2>銝<EFBFBD>嚗锭hazam嚗㇎I銝𤾸<E98A9D>蝡舀㺿<E88880>𩤃<EFBFBD>
- *<EFBFBD>格<EFBFBD>嚗? 銝箄<E98A9D><E7AE84>亙<EFBFBD>撱箄䌊摰帋<E691B0>撣<EFBFBD><E692A3>嚗<EFBFBD><E59A97>摮埈挾<E59F88><E68CBE><EFBFBD>銝箇畆<E7AE87>菜<EFBFBD><E88F9C>墧<EFBFBD><E5A2A7><EFBFBD><EFBFBD>閫㗇聢撘譌<E69298>?
- *<EFBFBD>箏<EFBFBD>嚗? Shazam<61>臭<EFBFBD>銝芸<E98A9D><E88AB8>冽芋<E586BD>梹<EFBFBD>摰<EFBFBD>釣<EFBFBD>仔avaScript/CSS<53><53><EFBFBD>閫<EFBFBD><E996AB><EFBFBD>讛膩<E8AE9B>扳<EFBFBD><E689B3>砍<EFBFBD>畾萎葉<E8908E><E89189>鸌摰尠<E691B0>侻hazam<61>脲<EFBFBD>蝑橘<E89D91><E6A998>嗅<EFBFBD><E59785>齿鰵<E9BDBF>鍦<EFBFBD><E98DA6>唳旿敶訫<E695B6>銵典<E98AB5><E585B8><EFBFBD>TML DOM<4F>?
- *瘣𧼮<EFBFBD>嚗? 餈坔<E9A488>蝷箔<E89DB7>EM憒<4D><E68692><EFBFBD>其<EFBFBD><E585B6>湔㺿<E6B994>滚𦛚<E6BB9A>函垢<E587BD>唳旿蝏𤘪<E89D8F><F0A498AA><EFBFBD><EFBFBD><EFBFBD>萎<EFBFBD>嚗䔶<E59A97>*摰X<E691B0>蝡?敶餃<E695B6><E9A483>孵<EFBFBD><E5ADB5>冽<EFBFBD>雿㯄<E99BBF>1<EFBFBD>?
7.2 獢<><E78DA2>鈭䕘<E988AD>Auto-Schedule嚗<65>極雿𨀣<E99BBF><F0A880A3>芸𢆡<E88AB8>吔<EFBFBD>
- *<EFBFBD>格<EFBFBD>嚗? <20>箔<EFBFBD><E7AE94>箇瑪<E7AE87>交<EFBFBD>嚗<EFBFBD><E59A97>憒<EFBFBD><E68692><EFBFBD>舀𠯫<E88880><F0A0AFAB><EFBFBD><EFBFBD>芸𢆡<E88AB8><F0A286A1><EFBFBD>蝥萄<E89DA5>鈭衤辣<E8A1A4><E8BEA3>𧒄<EFBFBD>渲”<E6B8B2>?
- *<EFBFBD>箏<EFBFBD>嚗? 雿輻鍂redcap_save_record<72>拙<EFBFBD><E68B99><EFBFBD><EFBFBD>靽嘥<E99DBD><E598A5>𦨴urgery_date<74>嘥<EFBFBD>畾菜𧒄嚗峕芋<E5B395>𡑒恣蝞埈𧊋<E59F88>交𠯫<E4BAA4><F0A0AFAB><EFBFBD>+30憭抬<E686AD>+60憭抬<E686AD>撟嗅‵<E59785><E280B5>★<EFBFBD>格𠯫<E6A0BC><F0A0AFAB><EFBFBD>?
- *瘣𧼮<EFBFBD>嚗? 餈蹱𤜯隞<F0A49CAF><E99A9E>鈭箏極霈∠<E99C88>嚗<EFBFBD><E59A97>撠睲<E692A0><E79DB2>讛<EFBFBD><E8AE9B>条<EFBFBD><E69DA1>躰秤嚗<E7A7A4><E59A97>蝷箔<E89DB7><E7AE94>𡒊垢<F0A1928A>拙<EFBFBD><E68B99>刻<EFBFBD><E588BB>交<EFBFBD><E4BAA4><EFBFBD>葉<EFBFBD><E89189><EFBFBD><EFBFBD>?5<>?
7.3 獢<><E78DA2>銝㚁<E98A9D>Cross-Project Piping嚗<67>楊憿寧𤌍<E5AFA7>唳旿鈭㘾<E988AD>𡄯<EFBFBD>
- *<EFBFBD>格<EFBFBD>嚗? 撠<>犖<EFBFBD><E78A96><EFBFBD>霈⊥㺭<E28AA5>桐<EFBFBD>銝剖亢<E58996>𨀣釣<F0A880A3>𢞖<EFBFBD>嗪★<E597AA>格<EFBFBD><E6A0BC>硋<EFBFBD><E7A18B>孵<EFBFBD><E5ADB5><EFBFBD><EFBFBD>𦦵<EFBFBD>蝛嗯<E89D9B>嗪★<E597AA>桐葉<E6A190>?
- *<EFBFBD>箏<EFBFBD>嚗? 銝<>銝枕M嚗<4D><E59A97><EFBFBD>亥砭皞鞾★<E99EBE>桃<EFBFBD><E6A183>唳旿摨橒<E691A8>雿輻鍂REDCap::getData嚗匧僎撠<E5838E>㺭<EFBFBD>格<EFBFBD><E6A0BC>亙<EFBFBD><E4BA99>漤★<E6BCA4>株”<E6A0AA>𨰻<EFBFBD>?
- *<EFBFBD>𣂼<EFBFBD><EFBFBD>喲睸嚗? 摰<>蝙<EFBFBD>兩<EFBFBD>𡏭圻<F0A18FAD>穃<EFBFBD>畾菊<E795BE>腈<EFBFBD><E88588>蘨<EFBFBD>匧銁靽格㺿<E6A0BC>孵<EFBFBD>摮埈挾<E59F88>嗆<EFBFBD>隡朞<E99AA1>銵<EFBFBD><E98AB5><EFBFBD>塚<EFBFBD><E5A19A>脫迫銝齿鱏閬<E9B18F><E996AC>47<34>?
---
8. <20>踹<EFBFBD><E8B8B9><EFBFBD><EFBFBD>嚗𡁜虜閫<E8999C>䔮憸䀝<E686B8>閫<EFBFBD><E996AB><EFBFBD>寞<EFBFBD>
鈭峕活撘<EFBFBD><EFBFBD>穃<EFBFBD>皛⊿<EFBFBD><EFBFBD>押<EFBFBD><EFBFBD>誑銝𧢲糓<EFBFBD>𠉛<EFBFBD>銝剜𥁒<EFBFBD>羓<EFBFBD><EFBFBD><EFBFBD>撣貉<EFBFBD><EFBFBD>桅<EFBFBD>嚗?
*8.1 <20>𨅯<EFBFBD>蝥扯稲甇領<E79487>嘅<EFBFBD>The Upgrade Death嚗?
- *<EFBFBD>箸艶嚗? 撘<><E69298>𤏸<EFBFBD><F0A48FB8>蝙<EFBFBD>券<EFBFBD><E588B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>辣頝臬<E9A09D>蝻硋<E89DBB><E7A18B>雴辣嚗峕<E59A97>靘肽<E99D98>鈭竃EDCap<61><70><EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>㚁<EFBFBD><E39A81>詨<EFBFBD><E8A9A8>賣㺭<E8B3A3>?
- *<EFBFBD>擧<EFBFBD>嚗? 敶𣫮EDCap<61>湔鰵<E6B994>塚<EFBFBD><E5A19A>賣㺭<E8B3A3>滨妍<E6BBA8>湔㺿<E6B994>𤥁楝敺<E6A59D>宏<EFBFBD>剁<EFBFBD>撖潸稲<E6BDB8>雴辣撏拇<E6928F><E68B87>?
- *<EFBFBD>踹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? 銝交聢<E4BAA4>𡁏<EFBFBD>雿輻鍂憭㚚<E686AD>璅∪<E79285>獢<EFBFBD>沲嚗<E6B2B2>僎隞<E5838E><E99A9E><EFBFBD>沖EDCap::蝐餅䲮瘜𤏪<E7989C>餈嗘<E9A488><E59798>寞<EFBFBD>銝箔<E98A9D><E7AE94>穃<EFBFBD><E7A983>澆捆<E6BE86>扯<EFBFBD><E689AF><EFBFBD><EFBFBD>啁輕<E59581>扎<EFBFBD>?
8.2 redcap_data<74><61><EFBFBD>扯<EFBFBD><E689AF>園<EFBFBD>
- *<EFBFBD>箸艶嚗? 璅∪<E79285><E288AA>𦦵揣<F0A6A6B5>𨀣<EFBFBD><F0A880A3>匧僑樴?> 50<35><30>扇敶𨰝<E695B6>腈<EFBFBD>?
- *<EFBFBD>琿𩐠嚗? <20>其<EFBFBD>銝芣𥅾<E88AA3>?0銝<30>辺霈啣<E99C88><E595A3><EFBFBD>★<EFBFBD>桐葉嚗屸<E59A97>朞<EFBFBD>SELECT * FROM redcap_data WHERE value > 50<35>扯<EFBFBD>甇斗<E79487>雿靝<E99BBF>撘箏<E69298>撖寡”餈𥡝<E9A488><F0A5A19D>刻”<E588BB>急<EFBFBD>嚗<EFBFBD><E59A97>銝箄砲銵典<E98AB5><E585B8>?<3F><><EFBFBD>?憿寧𤌍<E5AFA7><F0A48C8D>㺭<EFBFBD>殷<EFBFBD><E6AEB7>?
- *閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗? 憪讠<E686AA><E8AEA0>沒QL<51>亥砭銝剖<E98A9D><E58996>厚roject_id雿靝蛹擐𤥁<E69390>餈<EFBFBD>誘<EFBFBD>∩辣<E288A9><E8BEA3>⏚<EFBFBD>沖EDCap::getData()<29><><EFBFBD>皛日<E79A9B>餉<EFBFBD>嚗峕<E59A97><E5B395><EFBFBD><EFBFBD><EFBFBD>𣈯<EFBFBD>閬<EFBFBD><E996AC>憪喹QL嚗𣬚&靽脲<E99DBD><E884B2><EFBFBD>𧑐<EFBFBD>拍鍂鈭<E98D82>roject_id<69>靕ield_name銝羓<E98A9D>蝝W<E89D9D><EFBCB7>?
*8.3 靚<>䰻憿菟𢒰甇餃儐<E9A483>荔<EFBFBD>Survey Loop嚗?
- *<EFBFBD>箸艶嚗? 雿輻鍂redcap_survey_page_top<6F>拙<EFBFBD><E68B99>冽說頞單辺隞嗆𧒄<E59786>滚<EFBFBD><E6BB9A>𤑳鍂<F0A491B3>瑯<EFBFBD>?
- *<EFBFBD>琿𩐠嚗? 憒<><E68692><EFBFBD>滚<EFBFBD><E6BB9A>煾<EFBFBD>餉<EFBFBD><E9A489>厩撩<E58EA9>瘀<EFBFBD>靘见<E99D98>嚗屸<E59A97>摰𡁜<E691B0><F0A1819C>∩辣<E288A9>函𤌍<E587BD><F0A48C8D>△<EFBFBD>V<EFBFBD>銋煺蛹<E785BA><E89BB9><EFBFBD>嚗𣬚鍂<F0A3AC9A>瑕<EFBFBD>鋡怠撕<E680A0>𧼮<EFBFBD>銝<EFBFBD>憿菟𢒰嚗<F0A292B0>紡<EFBFBD>湔<EFBFBD>閫<EFBFBD>膥<EFBFBD><E886A5>絲<EFBFBD>硋援皞<E68FB4><E79A9E>?
- *閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗? <20>冽<EFBFBD>銵屸<E98AB5>摰𡁜<E691B0>銋见<E98A8B>嚗峕<E59A97><E5B395>亙<EFBFBD><E4BA99>䔛RL<52>臬炏撌脩<E6928C><E884A9>舐𤌍<E88890>䱗RL<52>?
*8.4 蝘餃𢆡<E9A483>峕郊銝剔<E98A9D><E58994>𨅯迨<F0A885AF>踵㺭<E8B8B5>栽<EFBFBD>?
- *<EFBFBD>箸艶嚗? 敶梶宏<E6A2B6>刻挽憭<E68CBD><E686AD><EFBFBD>粹★<E7B2B9>格𧒄嚗𣬚恣<F0A3AC9A><E681A3><EFBFBD><EFBFBD>湔㺿鈭<E3BABF>★<EFBFBD>桃<EFBFBD><E6A183><EFBFBD><EFBFBD>靘见<E99D98>嚗<EFBFBD><E59A97><EFBFBD>支<EFBFBD>銝<EFBFBD>銝芸<E98A9D>畾蛛<E795BE><E89B9B>?
- *<EFBFBD>擧<EFBFBD>嚗? 蝘餃𢆡<E9A483>冽<EFBFBD><E586BD>䭾<EFBFBD>撠<EFBFBD>㺭<EFBFBD>桀<EFBFBD>甇亙<E79487><E4BA99>伐<EFBFBD><E4BC90>牐蛹<E78990>滚𦛚<E6BB9A>其<EFBFBD>銝滚<E98A9D>摮睃銁霂亙<E99C82>畾萸<E795BE><E890B8>㺭<EFBFBD>株◤<E6A0AA>啣銁霈曉<E99C88>銝𨳍<E98A9D>?
- *閫<EFBFBD><EFBFBD>嚗? 蝏嘥笆銝滩<EFBFBD><EFBFBD>券★<EFBFBD>桀<EFBFBD>鈭𢛶<EFBFBD>𦦵<EFBFBD>鈭把<EFBFBD>萘𠶖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇暑頝<EFBFBD>宏<EFBFBD>函鍂<EFBFBD>瑟𧒄靽格㺿憿寧𤌍霈曇恣30<EFBFBD>?
---
9. 蝏栞捏
REDCap<EFBFBD><EFBFBD><EFBFBD>甈∪<EFBFBD><EFBFBD>穃<EFBFBD>銝<EFBFBD>銝芾◤<EFBFBD>函<EFBFBD><EFBFBD>唳旿摮睃<EFBFBD>摨栞蓮<EFBFBD>䀝蛹銝<EFBFBD>銝芯蜓<EFBFBD>函<EFBFBD><EFBFBD>𠉛弦<EFBFBD>滢<EFBFBD>蝟餌<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝湔𧒄<EFBFBD>雴辣<EFBFBD>𤑳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憭㚚<EFBFBD>璅∪<EFBFBD>獢<EFBFBD>沲<EFBFBD><EFBFBD><EFBFBD>蝘颱誨銵其<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頂蝏毺<EFBFBD><EFBFBD>鞟<EFBFBD>嚗䔶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鈭<EFBFBD><EFBFBD><EFBFBD>冽<EFBFBD>扼<EFBFBD><EFBFBD>虾蝏湔擪<EFBFBD>批<EFBFBD><EFBFBD>曹澈<EFBFBD>賢<EFBFBD><EFBFBD>? 撖嫣<E69296>撘<EFBFBD><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD>諹<EFBFBD>嚗峕<E59A97><E5B395>毺<EFBFBD>頝臬<E9A09D><E887AC>其<EFBFBD>銝交聢<E4BAA4>萄<EFBFBD>獢<EFBFBD>沲閫<E6B2B2><E996AB>嚗帋蝙<E5B88B>冽𡂝鞊⊥䰻霂X䲮瘜閖俈甇㏎QL瘜典<E7989C>嚗峕<E59A97><E5B395><EFBFBD><EFBFBD><EFBFBD>箔誑<E7AE94>脫迫XSS嚗<53>僎<EFBFBD>拍鍂撣行<E692A3><E8A18C>𣳇<EFBFBD>敺芰㴓靽脲擪<E884B2><E693AA><EFBFBD><EFBFBD><EFBFBD>偬摮𣂼<E691AE>redcap_save_record<72>? <0A>函宏<E587BD>券<EFBFBD><E588B8><EFBFBD><EFBFBD>MyCap<61>愢obile App<70><70><EFBFBD><EFBFBD>𣂼<EFBFBD>REDCap<61><70>圻閫鍦辣隡詨<E99AA1>鈭<EFBFBD><E988AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餈𦦵<E9A488>摰𧼮𧑐<F0A7BCAE>啣㦤<E595A3><E3A6A4><EFBFBD><EFBFBD>䕘<EFBFBD>餈嗵<E9A488>餈墧𦻖<E5A2A7>扯<EFBFBD>瘙<EFBFBD>銁API隞斤<E99A9E>蝞∠<E89D9E><E288A0>屸★<E5B1B8>桃<EFBFBD><E6A183>祆綉<E7A586>嗆䲮<E59786>X<EFBFBD>銝交聢<E4BAA4><E881A2><EFBFBD>雿𦦵漯敺页<E695BA>隞仿俈甇X㺭<EFBCB8>桐腺憭晞<E686AD>? <0A>朞<EFBFBD><E69C9E>拍鍂餈嗘<E9A488>擃条漣<E69DA1>蠘<EFBFBD><E8A098>婙<EFBFBD>𥪜<EFBFBD><F0A5AA9C>嗅<EFBFBD><E59785>滩<EFBFBD><E6BBA9><EFBFBD><EFBFBD>隞<EFBFBD><E99A9E><EFBFBD><EFBFBD>沲<EFBFBD><E6B2B2>器<EFBFBD>𢞖<EFBFBD>婙<EFBFBD>娍㦤<E5A88D><E3A6A4>虾隞仿<E99A9E>蝵脫𠳿摰匧<E691B0><E58CA7><EFBFBD>虾<EFBFBD>拙<EFBFBD><E68B99><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䌊<EFBFBD>典<EFBFBD><E585B8>𣬚鍂<F0A3AC9A>瑕<EFBFBD>憟賜<E6869F><E8B39C>𠉛弦<F0A0899B>臬<EFBFBD><E887AC>?
---
10. <20><><EFBFBD>舫<EFBFBD>敶𤏪<E695B6><F0A48FAA>詨<EFBFBD>皞𣂷誨<F0A382B7><E8AAA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
A.1 <20>箇<EFBFBD> redcap_save_record 摰䂿緵璅⊥踎
PHP
public function redcap_save_record($project_id, $record, $instrument, $event_id, $group_id, $survey_hash, $response_id, $repeat_instance)
{
// 蝖桐<E89D96><E6A190>睲賑<E79DB2>冽迤蝖桃<E89D96>憿寧𤌍銝𠹺<E98A9D><F0A0B9BA><EFBFBD>葉
if ($project_id!= $this->getProjectSetting('target_project')) return;
// <20>㰘蝸<E3B098>唳旿隞交<E99A9E><E4BAA4>交辺隞?
$data \= \\REDCap::getData($project\_id, 'array', $record);
// 璉<><E79289>?status'摮埈挾<E59F88>臬炏銝?complete' (2)
// 瘜冽<E7989C>嚗帋<E59A97>隞嗥<E99A9E><E597A5><EFBFBD><EFBFBD><EFBFBD>?
if ($data\[$record\]\[$event\_id\]\['status'\] \== '2') {
// 霈啣<E99C88><E595A3>亙<EFBFBD>
$this\-\>log("霈啣<E99C88> $record 摰峕<E691B0><E5B395>嗆<EFBFBD><E59786><EFBFBD><EFBFBD>乓<EFBFBD>?, \[
'record' \=\> $record,
'status' \=\> 'complete'
\]);
// <20>扯<EFBFBD><E689AF>芸<EFBFBD>銋厰<E98A8B>餉<EFBFBD>嚗<EFBFBD><E59A97>憒<EFBFBD><E68692>靚<EFBFBD>鍂憭㚚<E686AD>API嚗?
$this\-\>sendToExternalRegistry($record, $data);
}
}
A.2 摰匧<E691B0><E58CA7>唳旿摨𤘪䰻霂g<E99C82><EFBD87><EFBFBD>㺭<EFBFBD>吔<EFBFBD>
PHP
// <20>躰秤<E8BAB0><E7A7A4><EFBFBD>瘜𤏪<E7989C>SQL瘜典<E7989C>憌𡡞埯嚗? // $sql = "select value from redcap_data where record = '$record_id'";
// 甇<>&<EFBFBD><EFBC86><EFBFBD>瘜?
$sql = "select value from redcap_data where project_id =? and record =? and field_name =?";
$result = $this->query($sql, [$project_id, $record_id, 'target_field']);
while($row = $result->fetch_assoc()){
// 摰匧<E691B0>雿輻鍂 $row['value']
$value = $row['value'];
//...憭<><E686AD><EFBFBD>餉<EFBFBD>
}
*A.3 API Python 鈭支<E988AD>嚗<EFBFBD><E59A97><EFBFBD><EFBFBD>之<EFBFBD>寥<EFBFBD><E5AFA5>唳旿嚗?
Python
def export_large_project(api_url, token):
"""
<0A><>鸌撖澆枂憭批<E686AD>憿寧𤌍<E5AFA7>唳旿隞仿<E99A9E><E4BBBF>滩<EFBFBD><E6BBA9>?
"""
# 1. 擐硋<E69390><E7A18B>瑕<EFBFBD><E79195><EFBFBD><EFBFBD>㕑扇敶𣗏D
payload = {
'token': token,
'content': 'record',
'format': 'json',
'fields': 'record_id'
}
r = requests.post(api_url, data=payload)
records = [x['record_id'] for x in r.json()]
\# 2\. <20><><EFBFBD>憭<EFBFBD><E686AD> (靘见<E99D98>瘥誩<E798A5>100<30>?
chunk\_size \= 100
all\_data \=
for i in range(0, len(records), chunk\_size):
chunk \= records\[i:i \+ chunk\_size\]
\# <20><>遣霂瑟<E99C82><E7919F>孵<EFBFBD><E5ADB5><EFBFBD>扇敶?
batch\_payload \= {
'token': token,
'content': 'record',
'format': 'json',
'type': 'flat'
}
\# <20>冽<EFBFBD><E586BD>溶<EFBFBD>㰘扇敶𣗏D<F0A3978F>郡ayload
for idx, rec\_id in enumerate(chunk):
batch\_payload\[f'records\[{idx}\]'\] \= rec\_id
r\_batch \= requests.post(api\_url, data=batch\_payload)
all\_data.extend(r\_batch.json())
print(f"撌脣紡<E884A3>?{len(all\_data)} <20>∟扇敶?..")
return pd.DataFrame(all\_data)
*撘閧鍂<EFBFBD><EFBFBD><EFBFBD>雿?
- Supporting rapid innovation in research data capture and management: the REDCap external module framework - PubMed Central, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://pmc.ncbi.nlm.nih.gov/articles/PMC12202089/
- The Process of Installing REDCap, a Web Based Database Supporting Biomedical Research: The First Year - PubMed Central, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://pmc.ncbi.nlm.nih.gov/articles/PMC4287671/
- Join & Get REDCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/join/
- How to Acquire a REDCap License - NACC Docs, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://docs.naccdata.org/edc/data-capture-development/how-to-acquire-a-redcap-license
- 霈輸䔮<EFBFBD>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/join/#:~:text=Although%20REDCap%20is%20available%20at,your%20organization%20must%20be%20executed.
- FAQ - REDCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/about/faq/
- Installation & Technical Requirements - REDCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/software/requirements/
- REDCap Technical Overview Introduction REDCap Infrastructure: Best Practices and Dependencies, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/wp-content/resources/REDCapTechnicalOverview.pdf
- REDCap External Module Development for REDCap Admins and Developers, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://ctsit.github.io/redcap_external_module_development_guide/guide_for_admins_and_devs.html
- REDCap 'Hello World' external module development guide - Ayesh Alshukri, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://ayeshalshukri.co.uk/category/guides/redcap-external-module-development-guide-hello-world/
- REDCap External Module Development for Developers - GitHub Pages, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://ctsit.github.io/redcap_external_module_development_guide/guide_for_devs.html
- REDCap External Module Development Beginner's Guide - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/vanderbilt-redcap/external-module-framework-docs/blob/main/guide.md
- Shazam.php - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/susom/redcap-em-shazam/blob/master/Shazam.php
- redcap-copy-data-on-save/CopyDataOnSave.php at main 繚 lsgs ..., 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/lsgs/redcap-copy-data-on-save/blob/main/CopyDataOnSave.php
- README.md 繚 main 繚 BRIC / Epic Hl7 Integration 繚 GitLab, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://gitlab.msu.edu/bric/epic-hl7-integration/-/blob/main/README.md
- REDCap-Changelog_8.1.0.docx, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://www.bu.edu/ctsi/files/2016/02/REDCap-Changelog_8.1.0.docx
- vanderbilt-redcap/auto-record-generation: Module that allows for a new record to be generated in another project (or the same project) on a flagging field being saved. Allows for data fields to be transferred to the new record as well. - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/vanderbilt-redcap/auto-record-generation
- 2018 REDCapCon Poster Competition, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/wp-content/uploads/2018/08/2018-REDCapCon-Posters.pdf
- vanderbilt-redcap/external-module-framework-docs - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/vanderbilt-redcap/external-module-framework-docs
- CVE-2017-7351: REDCap 7.0.0 - 7.0.10 SQL Injection - LRQA, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://www.lrqa.com/en/cyber-labs/cve-2017-7351-redcap-7-0-0-7-0-10-sql-injection/
- ctsit/redcap_webservices: REDCap external module that provides a way to expose SQL query results to the external world. - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/ctsit/redcap_webservices
- REDCap: Multiple Cross-Site Scripting (XSS) Vulnerabilities - LevelBlue, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://levelblue.com/blogs/spiderlabs-blog/redcap-multiple-cross-site-scripting-xss-vulnerabilities
- Yale External Module (EM): Checklist for EM Development - REDCap@Yale, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://portal.redcap.yale.edu/media/91/download?inline
- Article - REDCap Security Information - TeamDynamix, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://ecu.teamdynamix.com/TDClient/1409/Portal/KB/ArticleDet?ID=67288
- Mobile App Guide - CENTER FOR RESEARCH INFORMATICS, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://cri.uchicago.edu/wp-content/uploads/2015/12/REDCap-Mobile-App-Guide.pdf
- Mobile App User's Guide, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://www.ctsi.ufl.edu/wordpress/files/2023/12/new-REDCap-Mobile-App-Guide-1.pdf
- CFRI DM REDCap Mobile App Manual, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/wp-content/uploads/2016/08/CFRI-DM-REDCap-Mobile-App-Manual.pdf
- Records - PyCap - REDCap-Tools, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?http://redcap-tools.github.io/PyCap/api_reference/records/
- API-Best-Practices-and-Guide-1.docx - UConn Health, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://health.uconn.edu/clinical-research-center/wp-content/uploads/sites/50/2024/02/API-Best-Practices-and-Guide-1.docx
- REDCap: Updating Mobile App Projects - SMPH Enterprise Applications - Research KB, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://kb.wisc.edu/smph/informatics/page.php?id=152765
- In-Depth Guide | REDCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectredcap.org/wp-content/uploads/2019/07/In-Depth-Guide2019.pdf
- Services | REDCap - The George Washington University, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://redcap.smhs.gwu.edu/services
- MyCap Resources, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectmycap.org/mycap-resources/
- MyCap <20>?Mobilizing the participant voice, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectmycap.org/
- MyCap: a flexible and configurable platform for mobilizing the participant voice - PMC, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://pmc.ncbi.nlm.nih.gov/articles/PMC9165428/
- MyCap - REDCap Support - University of Alberta, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://help.redcap.ualberta.ca/help-and-faq/mycap
- REDCap: MyCap - Active Task List - SMPH Enterprise Applications - Research KB, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://kb.wisc.edu/smph/informatics/133154
- REDCap External Module <20>?MyCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://projectmycap.org/tag/redcap-external-module/
- MYCAP HELP Table of Contents - REDCap, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://redcap.med.upenn.edu/redcap_v14.3.13/Resources/misc/mycap_help.pdf
- How to use exportRecordsTyped function from the redcapAPI package to import the data without factors? - Stack Overflow, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://stackoverflow.com/questions/76815004/how-to-use-exportrecordstyped-function-from-the-redcapapi-package-to-import-the
- JSONDecodeError 繚 Issue #265 繚 redcap-tools/PyCap - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/redcap-tools/PyCap/issues/265
- Importing data into REDCap <20>?Backup options <20>?API Basics - ITHS, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://www.iths.org/wp-content/uploads/REDCap-Importing-Exporting-302.pdf
- BCCHR-IT/data-entry-trigger-builder: An External Module that provides an interface to create a DET between a source and destination project. - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/BCCHR-IT/data-entry-trigger-builder
- RedCap API export - Python Discussions, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://discuss.python.org/t/redcap-api-export/32252
- REDCap External Module for automated generation of record event schedules. - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/lsgs/redcap-autoschedule
- redcap-autoschedule/README.md at master - GitHub, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/lsgs/redcap-autoschedule/blob/master/README.md
- redcap-repo 繚 GitHub Topics, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://github.com/topics/redcap-repo
- A Comprehensive Guide to REDCap | UNMC, 霈輸䔮<E8BCB8>園𡢿銝?<3F><><EFBFBD><EFBFBD>?29, 2025嚗?https://www.unmc.edu/vcr/_documents/unmc_redcap_usage.pdf